找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM32通过串口收发改LED闪烁时间 源程序

[复制链接]
ID:640768 发表于 2021-8-6 10:34 | 显示全部楼层 |阅读模式
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "timer.h"
  5. #include "adc.h"
  6. #include "usart.h"
  7. #include "stdlib.h"

  8. int main(void)
  9. {       
  10.         u8 k = 0;
  11.         u8 t;
  12.         u8 len;       
  13.         u16 times=0;
  14.         u16 i = 0;
  15.         Adc_Init();                                  //ADC初始化       
  16.         delay_init();                     //延时函数初始化
  17.         uart_init(9600);         //串口初始化为9600
  18.         LED_Init();                          //初始化与LED连接的硬件接口
  19.   while(1){
  20.                
  21.   if(USART_RX_STA&0x8000)
  22.                 {               
  23.                         k = 1;
  24.                         len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
  25.                         printf("\r\n您发送的消息为:\r\n");
  26.                         for(t=0;t<len;t++)
  27.                         {
  28.                                 USART1->DR=USART_RX_BUF[t];
  29.                                 while((USART1->SR&0X40)==0);//等待发送结束       
  30.                         }
  31.                         i = atoi(USART_RX_BUF);
  32.                         if(k == 1){
  33.                                 TIM3_Int_Init(i ,7199);//10Khz的计数频率,计数到5000为500ms
  34.                                 k = 0;
  35.                         }
  36.                         printf("\r\n\r\n");//插入换行
  37.                         USART_RX_STA=0;
  38.                 }else
  39.                 {
  40.                         times++;
  41.                         if(times%200==0)
  42.                                 //printf("请输入数据,以回车键结束\r\n");  
  43.                         //printf("\r\n当前time为:%d\r\n",TIME);
  44.                         //if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
  45.                         delay_ms(10);   
  46.                 }
  47.                 LED0=!LED0;
  48.                 delay_ms(200);
  49.        

  50.        
  51.         }         
  52. }
复制代码


如有错误,请大家多多指导,资料仅供参考: STM32通过串口收发改LED.7z (191.6 KB, 下载次数: 24)

评分

参与人数 1黑币 +10 收起 理由
admin + 10 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:584195 发表于 2021-8-6 18:16 | 显示全部楼层
向楼主学习了,感觉分享!希望以后能用得上!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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