找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1627|回复: 1
收起左侧

STM32F103RCT6上位机通过串口实现对led的开关控制

[复制链接]
ID:828888 发表于 2021-8-15 15:29 | 显示全部楼层 |阅读模式
STM32F103RCT6上位机通过串口实现对led的开关控制;通过switch判断接收端的寄存器的值,来执行不同操作。
51hei图片20210815152643.png

单片机源程序如下:
  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 在串口中断函数中获取 接收的值

  12.         delay_init();                     //延时函数初始化        
  13.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组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. }
复制代码

所有资料51hei附件下载:
判断串口.7z (181.79 KB, 下载次数: 28)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:584195 发表于 2021-8-19 15:59 | 显示全部楼层
楼主加油,这代码写了几年了?很想跟你学学!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表