Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

На Электрониксе есть шпаргалка на Бейсике.

Отправлено Vit (77.123.96.199) 20 февраля 2010, г. 20:13
В ответ на: Наверное мне такой вариант не подойдет. Вот что я хочу попробовать: отправлено Двоешник 20 февраля 2010, г. 18:06

общая идея протокола такая:
символ синхронизации 0x2B
тело сообщения , всмысле сами команды - описаны в доке от Freescale
CRC - считается как
[CODE]
unsigned char crc_MC3PHAC(unsigned char * payload, unsigned char len){
unsigned char crc;

if (len == 0) return 0;

crc = 0
do{
crc += *payload++;
len--
}while(len);

return (256 - crc);
}
[/CODE]

в результате может выглядеть примерно так
[CODE]
const unsigned char cmd_RESET = {0xE3, 0x10, 0x00, 0x30, 0x00};
void MC3PHAC_reset(void){
MC3PHAC_message_send(cmd_RESET, sizeof(cmd_RESET));
}
unsigned char cmd_FREQ_PWM = {0xE3, 0x10, 0x00, 0x41};
int MC3PHAC_set_freq( unsigned char freq){
if((freq == 41)||(freq == 42)||(freq == 44)||(freq == 48)){
cmd_FREQ_PWM[3] = freq;
MC3PHAC_message_send(cmd_FREQ_PWM, sizeof(cmd_FREQ_PWM))
return (0);
}else return (-1);
}

void foo(void){
MC3PHAC_reset();
MC3PHAC_set_freq(48);
}

void MC3PHAC_message_send(unsigned char * msg, unsigned char len){
unsigned char crc = 0;
const unsigned char START_SYMBOL = 0x2B;

putchar(START_SYMBOL);
while(len){
putchar(*msg);
crc += *msg++;
len--;
}
putchar((unsigned char)(256-crc));

}

[/CODE]




Ссылка: http://www.freescale.com/files/microcontrollers/doc/data_sheet/MC3PHAC.pdf

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
умножьте 3 на единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru