Пятница, 19.04.2024, 08:56
Микроконтроллерная техника AVR
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Микроконтроллеры » Вопросы по МК » Приём по UART. (CodeVisionAvr)
Приём по UART. (CodeVisionAvr)
vit701-Дата: Суббота, 07.08.2010, 22:07 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 11
Репутация: 1
Статус: Offline
Не могу разобраться, как принять строчку по RS232. С отправкой никаких проблем нету.
Покажите пожалуйста пример, как захватить строку с помощью scanf. И еще хотелось бы пример сравнения двух строк.
 
HiSERДата: Воскресенье, 08.08.2010, 04:11 | Сообщение # 2
Продвинутый автор!
Группа: Проверенные
Сообщений: 254
Репутация: 11
Статус: Offline
Code

//MCU freq 1MHz
#include <mega8.h>
#include <stdio.h>
#include <string.h>

typedef unsigned char byte;

byte res; //число
byte buff[16]; //буфер
byte lbuff=0; //указатель буфера, либо размер

void main() {
//Настраиваем UART
//8 bit, ASYNC, 4800, Parity NO
UCSRA=0;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0;
UBRRL=0x0c;
//Выключаем компаратор
ACSR=0x80;

putsf("TEST UART\r\n"); //Печатаем текст

while(1) { //Главный цикл

putsf("> ");
scanf("%i",&res); //Ждем ввода числа, в данном случае 1 или 2
printf("%u\r\n",res); //Показываем что приняли

if (res==1) { //Сравнение с помощью scanf, без echo
if (scanf("test1")==0) {
putsf("test1: ok\r\n"); //Если ввели правельно
}else{
putsf("test1: error\r\n"); //Если ввели не правельно
}
}

if (res==2) { //Чтение в буфер и сравнение с помощью strcmpf, с выводом echo
do{ //Грузим в буфер до 5-и символов
buff[lbuff]=getchar();
putchar(buff[lbuff]);
lbuff++; //Поднимаем указатель
}while(lbuff<5);
buff[lbuff]=0; //Последний код символа должен быт 0 - это конец строки  
putsf(": ");
if (strcmpf(buff,"test2")==0) { //сравниваем
putsf("ok"); //Если равно
}else{
putsf("error"); //Если не равно
}
putsf("\r\n");
lbuff=0; //Устанавливаем указатель в начало
}

}
}
 
Форум » Микроконтроллеры » Вопросы по МК » Приём по UART. (CodeVisionAvr)
  • Страница 1 из 1
  • 1
Поиск:

Хостинг от uCoz