|
发表于 2006-8-10 08:39:40
|
显示全部楼层
下面是我的串口程序 (只接收PC发来的一个数据后 给PZ口显示以验证) 不知道是不是上位机软件的原因 一点反映也没,,M16
#include <iom16v.h>
#include <macros.h>
void delay()
{
unsigned char i,j;
for(i=200;i>=0;i--)
for(i=150;i>=0;i--)
;
}
//*********UART初始化**********//
void usart_init()
{
UCSRA=0X02; //U2X=1 双倍速
UCSRC=(1<<URSEL)|(0<<UMSEL)|(1<<UCSZ1)|(1<<UCSZ0); //8位 异步 一个停止
UBRRL=0x10; //57600
UBRRH=0x00;
UCSRB=0x18; //发送接收使能
}
//*************接受一个字节***********
unsigned char recieve_byte(void)
{
while( !(UCSRA & (1<<RXC) ) )
;
return UDR;
}
//*************发送一个字节********//
void trasmit_byte( unsigned char data )
{
while( !( UCSRA & (1<<UDRE) ) ) // 等待UDR为空
;
UDR=data;
}
//***********main*******************//
void main ()
{
unsigned char temp;
DDRA=0XFF;
PORTA=0XFF;
asm("cli");
usart_init(); //初始化
while(1)
{
temp=recieve_byte();
PORTA=temp;
delay();
}
}
-----此内容被hayuda于2006-08-10,08:49:28编辑过 |
|