微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 数字计时

数字计时

时间:10-02 整理:3721RD 点击:
下面介绍在NXP LPC54110开发板上使用数字计时的具体实现方法,我们在串口输入时间发送后,开发板就开始一直返回距离我们发送后时长的时间,达到计时目的
所需输入的数字计时代码如下

  1. uint8_t  u[8];
  2. int main(void)
  3. {
  4.         SystemCoreClockUpdate();
  5.         Chip_GPIO_Init(LPC_GPIO);
  6.         Chip_GPIO_SetPinDIR(LPC_GPIO,0, 22, true);
  7.     Chip_GPIO_SetPinState(LPC_GPIO,0, 22, true);        
  8.         Chip_UART_Init(LPC_USART0);
  9.         Chip_UART_Init(LPC_USART0);
  10.         Chip_UART_SetBaud(LPC_USART0, 115200);
  11.         Chip_UART_ConfigData(LPC_USART0, UART_CFG_DATALEN_8 | UART_CFG_PARITY_NONE | UART_CFG_STOPLEN_1);
  12.         Chip_UART_Enable(LPC_USART0);
  13.         Chip_UART_TXEnable(LPC_USART0);
  14.   Chip_UART_ReadBlocking(DEBUG_UART, u,8);
  15.         while (1)
  16.         {
  17.                 Delay_ms(1000);
  18.                 u[7]=u[7]+1;
  19.                 if(u[7]>'9')
  20.                 {
  21.                         u[7]='0';
  22.                         u[6]=u[6]+1;
  23.                         if(u[6]=='6')
  24.                         {
  25.                         u[7]='0';
  26.                         u[6]='0';        
  27.                         u[4]=u[4]+1;
  28.                         }
  29.                         if(u[4]>'9')
  30.                         {
  31.                         u[4]='0';               
  32.                         u[3]=u[3]+1;
  33.                         }
  34.                         if(u[3]=='6')
  35.                         {
  36.                         u[4]='0';
  37.                         u[3]='0';        
  38.                         u[1]=u[1]+1;
  39.                         }
  40.                         if(u[1]>'9')
  41.                         {
  42.                         u[1]='0';
  43.                         u[0]=u[0]+1;
  44.                         }
  45.                         if((u[0]=='2')&& (u[1]=='4'))
  46.                         {
  47.                         u[1]='0';
  48.                         u[0]='0';
  49.                         }
  50.                         
  51.                 }
  52.                 Chip_UART_SendBlocking(DEBUG_UART, u, 8);
  53.                 Chip_UART_SendBlocking(DEBUG_UART,"\r\n", 2);
  54.         }
  55. }

复制代码

编译下载后使用串口终端软件输入一个时间发送到开发板后,开发板就开始计时

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top