📄 232.c
字号:
/************************************************************
FileName: 232.c
Description: 串口模块,实现与上位机之间的通讯
Function List:
1.void Com0_Init(void) //串口初始化
2.uchar ISR_Uart0_Rx(void) //数据接收程序
3.void Uart0_Transmit(uchar data) //数据发送程序
***********************************************************/
#include <iom16v.h>
#include <macros.h>
#include "232.h"
void Com0_Init(void)
{
unsigned int baud;
baud=0x33; //clk(8M)/(16*(9600+1))
UCSRB = 0x00; //设置波特率时关闭发送和接收
UBRRH=(unsigned char)(baud>>8);
UBRRL=(unsigned char)baud;
UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); // URSEL为选择位,因为UCSRC和UBRRH共用一个IO地址,8位数据+1位STOP位+无奇偶校验
UCSRB=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE); //允许发送和接收和接收终断使能
}
void Uart_Transmit(unsigned char data)
{
while (!(UCSRA & (1<<UDRE)));
UDR = data; //数据送数据寄存器
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -