stm8s103k3 周期 捕获_stm8s103串口

#include "uart.h"

#define UART2

#define uart_115200 1

void Init_UART2(void)

{

#ifdef UART2

UART1_CR1=0x00;

UART1_CR2=0x00;

UART1_CR3=0x00;

#ifdef uart_9600

UART1_BRR2=0x03;    //  16M 9600   682

UART1_BRR1=0x68;

#endif

#ifdef uart_115200

UART1_BRR2=0x0b;  //16M  115200   D05

UART1_BRR1=0x08; //  8B

#endif

UART1_CR2|=0x2c;//允许接收,发送,开接收中断

#endif

}

/*

发送一个字符

*/

void UART2_sendchar(unsigned char td)

{

#ifdef UART2

while((UART1_SR & 0x80)==0x00);

UART1_DR=td;

#endif

}

/*

发送一个字符串,遇到\0结束

*/

void UART2_sendstr(unsigned char *pStr)//发送字符串

{

#ifdef UART2

while(*pStr)

{

UART2_sendchar(*pStr++);

}

#endif

}

/*

串口发送N字节数据

*/

void UART2_sendNByte(unsigned char *pStr,unsigned char len)

{

#ifdef UART2

for(;len>0;len--)

{

UART2_sendchar(*pStr++);

}

#endif

}

#pragma vector= _INT_UART1_RX//UART2_R_OR_vector//0x19

__interrupt void UART2_R_OR_IRQHandler(void)

{

volatile unsigned char i;

while(!(UART1_SR&0X20)==0X20);//UART2_SR &=~0X20;

UART1_SR&=(~0x20);

i=UART1_SR;

return;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值