小弟最近做一个小东西,用的是STM8L052C6,STVD+COSMIC编译环境。调串口接收的时候怎么搞都不行。查询和中断都没有成功,换了几个板子都不没成功,有点疑惑,请大神指点。
贴程序:
void UART1_Init(void)
{
SYSCFG->RMPCR1 &= 0xaf;
SYSCFG->RMPCR1 |= 0x10;
GPIO_Init(GPIOA,GPIO_Pin_2,GPIO_Mode_In_PU_No_IT); //串口接收
GPIO_Init(GPIOA,GPIO_Pin_3,GPIO_Mode_Out_PP_High_Slow); //串口发送
CLK_PeripheralClockConfig(CLK_Peripheral_USART1,ENABLE);
USART_DeInit(USART1);
USART_Init(USART1,9600,USART_WordLength_8b,USART_StopBits_1,USART_Parity_No,(USART_Mode_TypeDef)(USART_Mode_Rx|USART_Mode_Tx));
USART_ClockInit(USART1,USART_Clock_Disable,USART_CPOL_Low,USART_CPHA_2Edge,USART_LastBit_Disable);
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
enableInterrupts();
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
USART_Cmd(USART1,ENABLE);
}
中断
INTERRUPT_HANDLER(USART1_RX_TIM5_CC_IRQHandler,28)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
USART1_SendByte(0x88);
bTemp=USART_ReceiveData8(USART1);//USART1->DR
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
USART1_SendByte(bTemp);
}
while(1)里面啥没有。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>