标题: 单片机+DS18B20读取序列号问题,好像不是64位 [打印本页]

作者: wzy199981    时间: 2021-1-26 15:26
标题: 单片机+DS18B20读取序列号问题,好像不是64位
新手学习,用串口助手查询到序列号为:28003F009100AE00290020001009400,好像不是64位,不知道问题出在哪里?哪位热心人给解释一下,非常感谢。附程序如下:

单片机源程序如下:

  1. void UART_Init(void)
  2. {
  3.     SCON  = 0x50;                        
  4.     TMOD |= 0x20;      
  5.     TH1   = 0xFD;         
  6.     TR1   = 1;                                       
  7.     //EA    = 1;         
  8.     //ES    = 1;         
  9.                 TI =1;
  10. }

  11. void send_string(unsigned char *str)
  12. { while(*str !='\0')
  13.   {
  14.     SBUF=*str;
  15.     while(!TI);
  16.     TI=0;      
  17.     str++;     
  18.   }
  19. }

  20. void readRom(void)
  21. {
  22.         unsigned int i;
  23.         Init_DS18B20();
  24.         
  25.         WriteOneChar(0x33);
  26.         for(i=0;i<8;i++)
  27.         {
  28.                 ID[i]=ReadOneChar();
  29.         }        
  30.                
  31. }

  32. int main(void)
  33. {
  34.         unsigned int j;
  35.         UART_Init();        
  36.         readRom();
  37.         
  38.         while(1)
  39.         {
  40.                   for(j=0;j<8;j++)
  41.                 {
  42.                         sprintf(total_buf,"%x",ID[j]);        
  43.                         send_string(total_buf);
  44.                         
  45.                 }
  46.                 send_string("\n");
  47.                         DelayMs(1000);                                                               
  48.         }

  49. }
复制代码



作者: wzy199981    时间: 2021-1-27 09:54
读ROM序列号的数组定义是无符号字符数组ID【】,单字节,初始化格式是0x00,不知道为何就多了两个0
作者: man1234567    时间: 2021-1-27 17:29
可参照 http://www.51hei.com/bbs/dpj-97176-1.html
作者: wzy199981    时间: 2021-1-30 13:12
man1234567 发表于 2021-1-27 17:29
可参照 http://www.51hei.com/bbs/dpj-97176-1.html

多谢指导




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1