找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5998|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

STM32串口定時(shí)發(fā)送數(shù)據(jù)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:391361 發(fā)表于 2018-11-26 16:41 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  程序小菜鳥
  5.   * @version V1.0
  6.   * @date    2018-09-xx
  7.   * @brief   WF-ESP8266 WiFi模塊測(cè)試
  8.   ******************************************************************************
  9.   *
  10.   * @HP
  11.   * 實(shí)驗(yàn)平臺(tái): STM32 開發(fā)板
  12.   * 公司    : QLKM
  13.   *
  14.   ******************************************************************************
  15.   */
  16. #include "sys.h"
  17. #include "delay.h"
  18. #include "usart.h"
  19. #include "time.h"
  20. #include "led.h"

  21. /**
  22.   * @brief  主函數(shù)
  23.   * @param  無
  24.   * @retval 無
  25.   */
  26. u32 ARPTimer=0;                        //ARP查詢計(jì)時(shí)器
  27. u32 localtime;                //本地時(shí)間計(jì)數(shù)器,單位:ms   32位,這樣計(jì)數(shù)可以計(jì)數(shù)49天(產(chǎn)品周期)
  28. u16 localtime1;                //本地時(shí)間計(jì)數(shù)器,單位:ms   16位,這樣計(jì)數(shù)只可以計(jì)數(shù)65s,在變量超出取值范圍前將變量重新賦初值,就可以連續(xù)計(jì)數(shù)
  29. u16 ARPTimer1=0;                        //ARP查詢計(jì)時(shí)器
  30. #define INTERVALS 5000 //時(shí)間間隔
  31. #define INTERVALS1 5000 //時(shí)間間隔
  32. u32 i=0,j=0;
  33. int main(void)                        
  34. {
  35.         /* 初始化 */
  36.         delay_init();                    //延時(shí)函數(shù)初始化          
  37.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  38.         usart_init(115200);
  39.         LED_Init();
  40.         TIM3_Int_Init(1000-1,720-1);
  41.         //ARP每5s周期性調(diào)用一次
  42.         while(1)
  43.         {
  44.                 if (localtime>=4294965000)//不加這一句,當(dāng)localtime>2^32-1=4294967296時(shí),函數(shù)調(diào)用就會(huì)失效
  45.                 {
  46.                         localtime=0;
  47.                         ARPTimer=0;
  48.                 }
  49.                 if ((localtime - ARPTimer) >= INTERVALS)
  50.                 {
  51.                         j++;
  52.                         LED0 =!LED0;
  53.                         i=(localtime - ARPTimer)/1000;
  54.                         u1_printf("ARPTimer:%d\r\n",ARPTimer);
  55.                         ARPTimer =  localtime;                       
  56.                         u1_printf("localtime:%d\r\n",localtime);                       
  57.                         u1_printf("time:%ds\r\n",i*j);
  58.                 }
  59.                 if (localtime1>=65000)//不加這一句,當(dāng)localtime1>2^16-1=65535時(shí),函數(shù)調(diào)用就會(huì)失效
  60.                 {
  61.                         localtime1=0;
  62.                         ARPTimer1=0;
  63.                 }
  64.                 if ((localtime1 - ARPTimer1) >= INTERVALS1)
  65.                 {
  66.                   LED1 =!LED1;
  67.                         i=(localtime1 - ARPTimer1)/1000;
  68.                         u1_printf("u16 ARPTimer1:%d\r\n",ARPTimer1);
  69.                         ARPTimer1 =  localtime1;                       
  70.                         u1_printf("u16 localtime1:%d\r\n",localtime1);                       
  71.                         u1_printf("i:%ds\r\n",i);
  72.                 }
  73.         }
  74. }       
復(fù)制代碼

所有資料51hei提供下載:
定時(shí)發(fā)送.7z (247.83 KB, 下載次數(shù): 66)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:631876 發(fā)表于 2019-11-27 19:47 | 只看該作者
真棒  厲害  棒棒
回復(fù)

使用道具 舉報(bào)

板凳
ID:75468 發(fā)表于 2020-4-17 12:44 | 只看該作者
好東西,謝謝分享。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表