標題: STM8S207串口調(diào)試的問題 [打印本頁]

作者: Newbe    時間: 2017-10-23 13:34
標題: STM8S207串口調(diào)試的問題
  1. #include "stm8s_conf.h"

  2. u8 RX_Words;
  3. vu8 flag;

  4. void UART3_INIT(void)
  5. {
  6.     UART3_DeInit();//復位串口3的寄存器值
  7.     UART3_Init((u32)9600, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO,UART3_MODE_TXRX_ENABLE);//波特率 9600 , 8位數(shù)據(jù)位 , 1位停止位 , 無奇偶效驗 , 發(fā)送接收使能
  8.     UART3_ITConfig(UART3_IT_RXNE, ENABLE);//使能接收中斷
  9.     UART3_Cmd(ENABLE);//使能串口3
  10.     enableInterrupts();
  11. }
  12. void Uart3_Send1Byte(u8 TxData)
  13. {
  14.     UART3_SendData8(TxData);
  15.     while(UART3_GetFlagStatus(UART3_FLAG_TXE) == RESET);
  16. }
  17. @far @interrupt    void UART3_RX_IRQHandler(void)
  18. {
  19.     UART3_ClearITPendingBit(UART3_IT_RXNE);
  20.     RX_Words = UART3_ReceiveData8();        
  21.     flag = 1;                                
  22. }
  23. void delay1ms(u16 var)
  24. {
  25.   u16 i;
  26.   while(var --)
  27.   {
  28.     for(i=0;i<1000;i++);
  29.   }
  30. }

  31. void UART3_Demo(void)
  32. {
  33.     if(flag == 1){
  34.         flag = 0;
  35.         delay1ms(20);
  36.         Uart3_Send1Byte(RX_Words);
  37.     }
  38. }
  39. main()
  40. {
  41.     CLK_DeInit();
  42.      CLK->CKDIVR|= (u8)0x00;/*設(shè)置時鐘為內(nèi)部16M高速時鐘*/
  43.     //ADC_INIT();
  44.     UART3_INIT();
  45.     while(1)
  46.     {
  47.     UART3_Demo();
  48.     }
  49. }
復制代碼
進不去接收中斷函數(shù)和發(fā)送數(shù)據(jù)在PC端串口調(diào)試工具上接收不到,這兩個問題,有能人幫我分析下原因嗎.







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1