標(biāo)題: STM32F103RCT6上位機(jī)通過(guò)串口實(shí)現(xiàn)對(duì)led的開(kāi)關(guān)控制 [打印本頁(yè)]

作者: wyyxz    時(shí)間: 2021-8-15 15:29
標(biāo)題: STM32F103RCT6上位機(jī)通過(guò)串口實(shí)現(xiàn)對(duì)led的開(kāi)關(guān)控制
STM32F103RCT6上位機(jī)通過(guò)串口實(shí)現(xiàn)對(duì)led的開(kāi)關(guān)控制;通過(guò)switch判斷接收端的寄存器的值,來(lái)執(zhí)行不同操作。


單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"

  5. int main(void)
  6. {        
  7. //        u8 t;
  8. //        u8 len;        
  9. //        u16 times=0;
  10. //         char ReceivedData = NULL;
  11.          //ReceivedData 在串口中斷函數(shù)中獲取 接收的值

  12.         delay_init();                     //延時(shí)函數(shù)初始化        
  13.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級(jí)分組2
  14.         uart_init(115200);         //串口初始化為9600
  15.         LED_Init();                           //初始化與LED連接的硬件接口

  16.         while(1)
  17.         {
  18.                
  19.                                         switch (ReceivedData)
  20.                         {        
  21.                                         case 'A':  LED0=0;
  22.                                                                          printf("LED0(ON) \r\n");
  23.                                                                         break;
  24.                                         case 'B':  LED0=1;
  25.                                                                                 printf("LED0(OFF)\r\n");
  26.                                                                         break;
  27.                                         case 'C':  LED1=0;
  28.                                                                                 printf("LED1(ON)\r\n");
  29.                                                                         break;
  30.                                         case 'D':  LED1=1;
  31.                                                                         printf("LED1(OFF)\r\n");
  32.                                                                         break;
  33.                                 default:  
  34.                                                                 break;
  35.                                        
  36.                                 
  37.                         }
  38.         //        delay_ms(200);
  39.                 //ReceivedData = USART_ReceiveData(USART1);
  40.   //  printf("Positionen: %d \r\n", ReceivedData);     
  41. //                if (ReceivedData == '1')
  42. //          {
  43. //                        printf("LED1(ON)");
  44. //                        LED1=0;
  45. //                        delay_ms(10);         
  46. //                }
  47. //                else if(ReceivedData=='0')
  48. //                {
  49. //                        LED1=1;
  50. //                        delay_ms(10);
  51. //                        printf("LED1(OFF)");
  52. //                }
  53. //                else
  54. //                        {
  55. //                                LED0 = 1;
  56. //                //                delay_ms(20);
  57. //                }        
  58. //  ReceivedData        =NULL;               
  59.         

  60.         }        
  61. }
復(fù)制代碼

所有資料51hei附件下載:
判斷串口.7z (181.79 KB, 下載次數(shù): 29)
串口JY901接串口助手.7z (226.16 KB, 下載次數(shù): 17)


作者: zyluglugl    時(shí)間: 2021-8-19 15:59
樓主加油,這代碼寫(xiě)了幾年了?很想跟你學(xué)學(xué)!




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