[应用相关] STM8 MAX485串口自收发程序

[复制链接]
771|1
 楼主| 两只袜子 发表于 2021-6-15 09:36 | 显示全部楼层 |阅读模式
#include "STM8S207R8.h"void Init_UART1(void){                UART1_CR1=0x00;                UART1_CR2=0x00;                UART1_CR3=0x00;                                // 设置波特率,必须注意以下几点:                //    (1) 必须先写BRR2                //    (2) BRR1存放的是分频系数的第11位到第4位,                //    (3) BRR2存放的是分频系数的第15位到第12位,和第3位                //        到第0位                // 例如对于波特率位9600时,分频系数=2000000/9600=208                // 对应的十六进制数为00D0,BBR1=0D,BBR2=00                UART1_BRR2=0x00;                UART1_BRR1=0x0d;                                UART1_CR2=0x2c;//允许接收,发送,开接收中断                }void UART1_sendchar(u8 data){                while((UART1_SR & 0x80)==0x00);                UART1_DR=data;}@far @interrupt void UART1_Recv_IRQHandler (void){        u8 data;        data=UART1_DR;        showLine(6,2,lcd_buffer,"0x%x2",(u16)data);        return;}void Init_UART3(void){                UART3_CR1=0x00;                UART3_CR2=0x00;                UART3_CR3=0x00;                                // 设置波特率,必须注意以下几点:                //    (1) 必须先写BRR2                //    (2) BRR1存放的是分频系数的第11位到第4位,                //    (3) BRR2存放的是分频系数的第15位到第12位,和第3位                //        到第0位                // 例如对于波特率位9600时,分频系数=2000000/9600=208                // 对应的十六进制数为00D0,BBR1=0D,BBR2=00                UART3_BRR2=0x00;                UART3_BRR1=0x0d;                                UART3_CR2=0x2c;//允许接收,发送,开接收中断                }void UART3_sendchar(u8 data){                while((UART3_SR & 0x80)==0x00);                UART3_DR=data;}@far @interrupt void UART3_Recv_IRQHandler (void){        u8 data;        data=UART3_DR;        showLine(6,2,lcd_buffer,"0x%x2",(u16)data);        return;}main(){        u8 tmp=0;        Init_UART3();        Init_UART1();        _asm("rim");        while(1)        {                UART3_sendchar(tmp);                delay_ms(10);                tmp++;                delay_ms(1000);        }}
天灵灵地灵灵 发表于 2021-6-15 14:55 | 显示全部楼层
楼主发这么多乱码贴是什么意思。啥都不说明,这能干啥。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部