Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Анонсы журнала "Лаборатория электроники и программирования" Новые статьи 25 номера


3. Примеры программ на С++ для персональных компьютеров.

Продолжение. Начало см. в номере 24 (статья 10).  

Для вывода принимаемых данных будем использовать элемент управления «Rich Edit 2». Он позволяет выводить текст с форматированием [1].

                Зададим индикатор элемента «IDC_RICHEDIT2_Read». Установим свойства элемента: «многострочный» - «true»,

«Только чтение» - «true»,

«Полоса прокрутки по горизонтали» - «true»,

«Полоса прокрутки по вертикали» - «true»,

«Авто VScroll» - «true»,

«Авто HScroll» - «true».

 

Инициализируем данный элемент в функции «InitInstance()» в файле приложения «Terminal_232_485.cpp», иначе приложение будет запускаться с ошибкой:

// инициализация CTerminal_232_485App

 

BOOL CTerminal_232_485App::InitInstance()

{

 

                AfxInitRichEdit2();

 


 

 4. Программирование на языке С на примере микроконтроллера ATmega168.  Работа с памятью типа "FM24CL16".

Память типа "FM24CL16" позволяет делать практически неограниченное количество перезаписей, что позволяет использовать ее в счетчиках ресурсов, значения которых изменяются часто и требуют соответственно постоянной перезаписи.

                В примере программы считывается значение нескольких ячеек памяти, затем записываются в них новые значения и снова считываются.

Программа написана для среды разработки ATMEL Studio® [1].

Текст основной программы (все файлы проекта можно найти в приложении):

//

// Интерфейс I2С

// Память типа "FM24CL16"

//

 

// константа, которая показывает, что переменная объявляется не в этом файле

#define IDENTIFIER_NOT_EXTERN

#include "global.h"  // глобальные объявления

 

#include "UART_drv.h" // объявления для UART

 

// микросхема FM24CL16

#define FM24CL16_slave_addr 0b1010 // адрес устройства (1010)

#define I2C_WR 0 // запись

#define I2C_RD 1 // чтение

unsigned char TWSR_tmp; // для хранения TWSR

 

unsigned char FM24CL16_page_addr; // адрес страницы в FM24CL16

unsigned char FM24CL16_word_addr; // адрес ячейки на выбранной странице в FM24CL16

unsigned char FM24CL16_bytes_cnt; // счетчик записываемых/считываемых байт FM24CL16

unsigned char FM24CL16_bytes_rd_wr; // количество байт для записи/считывания FM24CL16

unsigned char FM24CL16_rd_data; // считанный байт FM24CL16

 

Результат работы программы:

FM24CL16 - чтение

adr = 0, data - ff

adr = 1, data - ff

adr = 2, data - ff

adr = 3, data - ff

adr = 4, data - ff

adr = 5, data - ff

adr = 6, data - ff

adr = 7, data - ff

adr = 8, data - ff

adr = 9, data - ff

FM24CL16 - запись

FM24CL16 - чтение после записи

adr = 0, data - 0

adr = 1, data - 1

adr = 2, data - 2

adr = 3, data - 3

adr = 4, data - 4

adr = 5, data - 5

adr = 6, data - 6

adr = 7, data - 7

adr = 8, data - 8

adr = 9, data – 9

 

 http://journal.electroniclab.ru/journal_content_025.htm


В избранное