一般来说,过程如下:
1,配置串口参数、波特率等,开启串口中断;
void Init_UART()
{
}
2,中断函数里写中断响应函数,根据接收的指令或者数据,执行相应的动作;
程序一般为:
void UART_ISR() interrupt x using y
{
串口中断处理函数
}
x - 单片机的C51中断号
y - 指定使用的当前工作寄存器组号(0-3 PSW中的RS0,RS1组合)
3,主程序
int main(void)
{
Init_UART()
while(1)
{
//数据发送函数
}
}
首先要确定串口调试助手的波特率也是2400,并接收要以十六进制数显示,最好发送也以十六进制数发送。程序没有问题,是因为发送的num1在0-255之间,而用串口调试助手的字符显示方式不是全部都能显示出来的,有一部分就是显示乱码的,而显示十六进制数就没有问题了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)