Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
_engineer_
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
30.03.2012, 11:38 0

Управление освещением на ATmega8

30.03.2012, 11:38. Просмотров 7193. Ответов 14
Метки (Все метки)

Ответ

Вот побайтная функция проверки для фиксированной длинны сообщений:

Пишем в заголовочном файле
C
1
2
3
4
5
6
7
8
9
10
#define COUNT_COMAND 5 /*сообщение 5 байт*/
 
unsigned char cmd_1[COUNT_COMAND]; /*массив для хранения первого сообщения */
unsigned char cmd_2[COUNT_COMAND]; /*массив для хранения второго сообщения */
// итд
    
 
unsigned char buf[COUNT_COMAND]; /* буфер для приема сообщений */
 
char CmpComand(unsigned char * read_buf,unsigned char *comand); /* прототип функции сравнения */
Реализация функции сравнения (в файле .С)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char CmpComand(unsigned char * read_buf,unsigned char *comand)
{
 char ret = 0;
    for(char i = 0; i < COUNT_COMAND; ++i)
     {
         if(*read_buf == *comand)
          {
              ret++;
          }
     }
  if(ret == COUNT_COMAND)
   {
       return 1;
   }
   else
    {
       return 0;
    }
}
Использование:
Например проверяем соответствует ли сообщение в буфере с сообщением в cmd_1
если функция вернет 1 то да, если 0 то нет
C
1
char cmp = CmpComand(buf,cmd_1);


Вернуться к обсуждению:
Управление освещением на ATmega8
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2012, 11:38

Управление светодиодами на ATMega8 (ASM)
Здраствуйте Пытаюсь написать программу, которая при замыкании кнопки SA1...

ATMEGA8
Подскажите пожалуйста чем отличаються микроконтролер atmega8 от например етого ...

Atmega8 программирование
Добрый день. Припаял на PD7 ногу светодиод, микроконтроллер ATMEGA8A-PU...

0
Другие темы раздела
AVR Контрольная сумма группы байтов http://www.cyberforum.ru/avr/thread508472.html
Здравствуйте!!! Программирую микроконтроллер AVR на С. Передаю байты по последовательному каналу в контроллер автомобиля. Похоже на RS232. В стандарте сказано: Check sum byte is the simple 8-bit...
AVR UART в дупексном режиме (ATmega48) Интересно если в момент записи данных в регистр UDR0 в UART придет байт, то какое значение будет в UDR0. То что пришло или винегрет из того что отправляют и того что пришло. Регистр то один? http://www.cyberforum.ru/avr/thread443201.html
Программа для ATtiny2313 AVR
/* * AVRGCC3.c * * Created: 02.02.2012 8:42:25 * Author: User */ #include <avr/io.h> #include <util/delay.h>
AVR Задача с прерываниями AVR
Всем доброго времени суток. Недавно начал изучать эти самые микроконтроллеры, опыта в программировании таких устройств пока нет. Попытаюсь описать задачу: Имеется главная функция, длительная по...
AVR Умножение двух чисел методом сложения для Mega16 http://www.cyberforum.ru/avr/thread417558.html
Гуру ассемблера, помогите пожалуйста, заочнику! Препод задал якобы легкую задачку: Для Mega 16 в среде AVR Studio написать ПО на ассемблере умножения двух чисел методом сложения. Оба множителя 1...
AVR Atmega8 Фьюзы Доброго времени суток вообщем я пожаловал к вам с такой проблемой. Купил МК Atmega8, программатор STK500 почитал немного литературки о программировании МК и зашил ПЕРВУЮ прогу, мигать диодом через... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru