2019-07-19 20:38发布
鼻涕虫买房子 发表于 2017-10-20 17:00 void UART1_Init(void) { UART1_CR2 = 0; // 禁止UART发送和接收
最多设置5个标签!
{
UART1_CR2 = 0; // 禁止UART发送和接收
UART1_CR1 = 0; // b5 = 0,允许UART,禁止奇偶校验
//一个起始位,8个数据位
UART1_CR3 = 0; // 1个停止位
UART1_BRR2 = 0;
UART1_BRR1 = 0x0d; // 实际的波特率分频系数为00D0(208)
// 对应的波特率为2000000/208=9600
UART1_CR2 = 0x02C;// 允许发送,接收//允许接收中断
}
/********************************************************************************
函数功能:从UART3发送一个字符
输入参数:ch -- 要发送的字符
修改时间:2011 5 26
*********************************************************************************/
void UART1_SendChar(unsigned char ch)
{
unsigned char i;
while((UART1_SR & 0x80) == 0x00); // 若发送寄存器不空,则等待
UART1_DR = ch;
for(i=0;i<100;i++); // 将要发送的字符送到数据寄存器
}
@far @interrupt void UART1_Recv_IRQHandler (void)
{
unsigned char ch;
ch = UART1_DR; // 读入接收到的字符
UART1_SendChar(ch); // 将字符发送出去
}
谢谢!!!
********************************** STM8S ***********************************
* @文件名 : Drive_Usart.h
* @作者 : StrangeGamma
* @说明 : 寄存器
* @文件版本 : V1.0.0
* @日期 : 2017年11月01日
* @摘要 : USART底层驱动
*****************************************************************************/
/* 定义防止递归包含 ----------------------------------------------------------*/
#ifndef __DRIVE_USART_H_
#define __DRIVE_USART_H_
/* 宏定义 --------------------------------------------------------------------*/
#define EN_USART1_INTERRUPTED 0 // USART1中断使能(1)/禁止(0)
/* USART端口定义----------------------------------------------------------------*/
//USART1_TX --> PD5
//USART1_RX --> PD6
/* 函数申明 ------------------------------------------------------------------*/
void UART1_Init(unsigned int baudrate); //USART初始化
void Uart_SendData(unsigned char data);//USART发送1bit数据
#endif /* __DRIVE_USART_H_ */
/**** Copyright (C)2017 StrangeGamma. All Rights Reserved **** END OF FILE ****/
一周热门 更多>