<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        stm32 中斷串口控制LED燈

        作者:黃賓山   來源:本站原創   點擊數:  更新時間:2014年03月03日   【字體:

        #include "stm32f10x.h"
        #include "usart.h"
        #include "led.h"
        #include <stdio.h>

        /***********************************************************************
        ***********************************************************************/
        void RCC_Configuration(void);
        void GPIO_Configuration(void);
        void NVIC_Configuration(void);
        //void delay(vu32 nCount) //軟件延時
        // {
        // for(; nCount != 0; nCount--);  
        // }
        /***********************************************************************
        ************************************************************************/

        main()
        {
         u8 a;

         RCC_Configuration();//系統時鐘配置
          
         NVIC_Configuration();//中斷配置
         
         GPIO_Configuration();//GPIO口配置

         LED_Init();

         while(1)        
         {
          while(usart_rx_sta&0x80)
          {
           a=usart_rx_buf[1];
           if(a == 0x01)
           {
            GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_SET);
            GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_RESET);
        //    usart_rx_sta=0;
        //    usart_rx_time=0;
        //    usart_tx_buf[0]=0x01;      //將接收到的串口數據,發送出
        //    usart_tx_time=1;
        //    USART1_SEND();
               printf("綠燈滅,紅燈亮\n");
            usart_rx_buf[1]=0x00; 
           }   
           if(a == 0x02)
           {
            GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_RESET);
            GPIO_WriteBit(GPIOA,GPIO_Pin_8,Bit_SET);
        //    usart_rx_sta=0;
        //    usart_rx_time=0;
        //    usart_tx_buf[0]=0x02;      //將接收到的串口數據,發送出
        //    usart_tx_time=1;
        //    USART1_SEND();
               printf("綠燈亮,紅燈滅\n");
            usart_rx_buf[1]=0x00;               
           }   
           else
           {
            usart_rx_sta=0;
            usart_rx_time=0;  
           }        
          }       
         }
        }
        //發送AA 01 AB BB(注:串口助手發 使用16進制);綠燈滅,紅燈亮(注:串口助手收 不使用16進制)
        //發送AA 02 A8 BB(注:串口助手發 使用16進制);綠燈亮,紅燈滅(注:串口助手收 不使用16進制)
        /*****************************************************************************
        *****************************************************************************/

        注:使用的ALIENTEK開發板,參考正點原子部分子程序

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮