mega16 pc串口通信,lcd显示
本帖最后由 sky! 于 2012-7-8 10:21 编辑avr mega16实现上位机异步串口通信..因为我最终要实现控制wifi模块.所以很多规则定义的很奇葩.....
初步实现了串口数据头的识别和显示..下一步就可以用来控制wifi模块了...
#include"new_5.h"
#include"new_lcd.h"
#include"new_uart.h"**** Hidden Message *****
char uart_flag;
char recv_str;
uchar uart_i=0;
void main()
{
PORTC=0xff;
DDRC=0xff;
lcdinit();
write(0,0x80);
uart_init();
puts("HELLO");
puts("test ok.");
while(1)
{
if(uart_flag)
{
UCSRB&=(~BIT(RXEN));
if((recv_str=='O')&&(recv_str=='K'))
{
}
else if((recv_str=='E')&&(recv_str=='R')&&(recv_str=='R'))
{
write(1,'
);
putchar('
);/*test*/
recv_str=0x00;
}
else
{
uchar i=0;
while(recv_str)
{
write(1,recv_str);
putchar(recv_str);/*test*/
i++;
}
}
UCSRB|=BIT(RXEN);
uart_flag=0;
}
}
}
#pragma interrupt_handler getchar:12
void getchar()
{
_charget=UDR;
if(_charget=='+')
{
uart_i=0;
}
else if(_charget==0x0d)
{
recv_str=0x00;
uart_flag=1;
}
else
{
recv_str=_charget;
}
}
{:1_1:}支持一下单片机源码 好东西 帮顶一下,期待完整作品。 无回帖,不论坛,这才是人道。
页:
[1]