#include "uart1.h"
#include "stm8l15x.h"
void Uart1_Init(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_USART1,ENABLE);
SYSCFG_REMAPDeInit();
SYSCFG_REMAPPinConfig(REMAP_Pin_USART1TxRxPortA,ENABLE);
GPIO_Init(GPIOA, GPIO_Pin_2, GPIO_Mode_Out_PP_High_Fast);//TXD
GPIO_Init(GPIOA, GPIO_Pin_3, GPIO_Mode_In_PU_No_IT);//RXD
USART_DeInit(USART1); //復位UART1
/*
* 將UART1配置為:
* 波特率 = 115200
* 數據位 = 8
* 1位停止位
* 無校驗位
* 使能接收和發送
*/
USART_Init(USART1,(u32)115200, USART_WordLength_8b, USART_StopBits_1,
USART_Parity_No, USART_Mode_Tx|USART_Mode_Rx);
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//開啟接收中斷
//USART_ITConfig(USART1, USART_IT_TC, ENABLE);//開啟接收中斷
USART_Cmd(USART1, ENABLE); //使能UART2
}
/*******************************************************************************
* 名稱: UART1_SendByte
* 功能: UART1發送一個字節
* 形參: data -> 要發送的字節
* 返回: 無
* 說明: 無
******************************************************************************/
void UART1_SendByte(u8 data)
{
USART_SendData8(USART1, data);
/* 等待傳輸結束 */
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
}
/*******************************************************************************
* 名稱: UART1_SendStr
* 功能: UART1發送len個字符
* 形參: data -> 指向要發送的字符串
* len -> 要發送的字節數
* 返回: 無
* 說明: 無
******************************************************************************/
void UART1_SendStr(u8 *str)
{
while(*str != ' 主站蜘蛛池模板: 汶川县| 临颍县| 陈巴尔虎旗| 高碑店市| 梁河县| 诸城市| 永仁县| 科技| 遂昌县| 南漳县| 定结县| 阳原县| 宁化县| 鄂温| 夏邑县| 罗江县| 萨嘎县| 贡觉县| 眉山市| 色达县| 望江县| 年辖:市辖区| 绍兴县| 莱芜市| 新兴县| 新宁县| 定安县| 惠来县| 汕头市| 常德市| 新宁县| 汤原县| 瓦房店市| 阿城市| 五寨县| 奇台县| 黔西| 昌吉市| 岚皋县| 会理县| 高邮市|