C语言学习:串口带CRC校验

[复制链接]
 楼主| 877049204 发表于 2018-5-30 09:56 | 显示全部楼层 |阅读模式
平台是STM32F103CRT6,记个笔记加深自己对指针数组的理解

  1. #include "includes.h"
  2. #include "crc.h"

  3.                 extern unsigned char RX_Data[9];  //½ÓÊÕµ½µÄÊý¾Ý
  4.                 u8 i=0;
  5.           unsigned char a= 0x0A;
  6.                 unsigned char *b = "zhongli";  //ĬÈÏ·¢ËÍ×Ö·û´®
  7.                 unsigned char c[] = "yunjin" ;
  8.           unsigned int d;    //CRCУÑé
  9.                 unsigned char buffer[9];   
  10.                 unsigned char *buffer1;  
  11.                 unsigned int flag = 0;  //½ÓÊÜÊý¾Ý±ê±êÖ¾
  12. int main()
  13. {                          
  14.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //ÉèÖÃNVICÖжϷÖ×é2:2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶
  15.      delay_init();                     //ÑÓʱº¯Êý³õʼ»¯
  16.      TIM4_Init(9,7199);//Tout£¨Òç³öʱ¼ä£©=£¨ARR+1)(PSC+1)/Tclk =10*7200/72000000s=1ms
  17.      LED_Init();
  18.         USART1_Init(115200,0);         //´®¿Ú³õʼ»¯Îª115200
  19.      delay_us(500);
  20. NRF24L01_Init();                    //³õʼ»¯NRF24L01

  21.         while(1)
  22.         {
  23.                 if(flag )
  24.                 {
  25.         b = &(RX_Data[2]);
  26.                           flag = 0;
  27.                 }
  28.                 i = 0 ;
  29.           while(b[i] != '\0')
  30.           {
  31.                         buffer[i] = b[i];
  32.                   i++;
  33.           }
  34.                 d = MBCRC16(b,i);
  35.                 buffer[7]= (d&0xFF);
  36.           buffer[8] = ((d&0xFF00)>>8);       
  37.                 UartPutStr(buffer,sizeof(buffer));
  38.                 delay_ms(500);
  39.                 UART_Putchar(a);
  40.         }
  41. }




hotpower 发表于 2018-12-30 00:35 来自手机 | 显示全部楼层
 楼主| 877049204 发表于 2018-12-30 09:15 | 显示全部楼层
hotpower 发表于 2018-12-30 00:35
http://www.hotpage.com.cn/hotcrc

哇,遇到了传说中的前辈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

158

主题

1836

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部