STM8S207_UART1串口发送中断程序

STM8S207_UART1串口发送中断程序,第1张

void CLK_INIT(void)

{

CLK_CKDIVR = 0x19 /*HSI/8、CPU = 2/2,1M速度*/

CLK_PCKENR1 = 0x04 /*只开启uart1的时钟*/

CLK_PCKENR2 = 0x00/*打开ADC的时钟*/

}

void IO_INIT(void)

{

PA_CR1 = 0x00 /*推挽输出*/

PA_CR2 = 0x00 /*最大输出为2MHZ,禁止外部中断*/

PA_DDR |= 0x20 /*PA5为输出*/

}

void UART1_INIT(void)

{

UART1_BRR2 = 0x00

UART1_BRR1 = 0x0d /*2M的Fmaster下9600的波特率*/

UART1_DR = 0xaa

UART1_CR2 = 0x08 /*发送完寄存器空,发送使能*/

UART1_CR3 = 0x00 /*1个停止位*/

}

#pragma vector = UART1_T_TXE_vector

__interrupt __root void UART1_TX(void)

{

UART1_SR = 0x00

UART1_DR = 0xaa

}

只作为参考,希望对您有帮助,谢谢!

程序从Main进入

1、管脚初始化

2、时钟初始化;

3、配置芯片的UART模块;

4、死循环一直等待;

5、若有串口数据进来,会触发中断函数,执行中断,把接收到的数据取出来,再通过发送函数发送出去;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11099428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存