您的位置 首页 厂商

PC和ATMEGA128串口通讯

/*PC和ATMEGA128通信,ATMEGA以轮循方式发送,中断方式接受*/#includemega128.h>#defineRXEN04#defineTXEN03#defineRXCIE07

/*PCATMEGA128通讯,ATMEGA以轮循方法发送,中止方法承受*/

#include
#define RXEN0 4
#define TXEN0 3
#define RXCIE0 7
#define UDRE0 5
#define UCSZ00 1
#define UCSZ01 2
#define UCSZ02 2
#define RXC0 7
char str[20];

unsigned char in;
void Uar_init(void);
void COM_send(void);

interrupt[19] void uart0(void)
{
bit flag=1;
str[in]=UDR0;
if(str[in]==$) //$为中止标志
{
UCSR0B&=~(1< str[in]=\0;
COM_send(); //发送承受的字符串
in=0;

flag=0;
UCSR0B|=(1< }
if(flag)
in++;

}

void Uar_init(void)
{

in=0;
UCSR0B=(1<UBRR0L=0x2f;
UBRR0H=0x00;
UCSR0C=(1<}

void COM_send(void)
{
unsigned char point=0;
while(str[point]!=\0)
{

while(!(UCSR0A&(1< UDR0=str[point];
point++;
}
}

void main(void)
{

Uar_init();

#asm(“sei”);//大局中止敞开

while(1);

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/275913.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部