|
使用stm32單片機,通過串口助手可獲取ds18b20的內(nèi)部序列號
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "ds18b20.h"
- //MAXNUM在ds18b20.h中定義
- u8 ID_Buff[MAXNUM][8];
- int main(void)
- {
- u8 i,j,num;
- short Temp;
- delay_init(); //延時函數(shù)初始化
- DS18B20_Init();
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
- uart_init(115200); //串口初始化為 115200
- LED_Init();
- printf("start system ...\r\n\r\n");
-
-
- num = DS18B20_SearchROM(ID_Buff,MAXNUM);
- printf("總線上掛載的DS18B20數(shù)量為: %d\r\n",MAXNUM);
- printf("搜索到的DS18B20數(shù)量為: %d\r\n",num);
-
-
- for(i = 0;i < num;i ++)
- {
- printf("\r\n DS18B20 No%d ID: ",i);
- for(j = 0;j < 8;j ++)
- {
- printf("%02X ",ID_Buff[i][j]);
- }
- }
-
- i = 0;
- while(1)
- {
- LED1 = ~LED1;
- delay_ms(1000);
- Temp = DS18B20_ReadDesignateTemper(ID_Buff[i ++]);
- printf("\r\n 第%d個DS18B20溫度為:%.2f ℃",i,Temp/100.0);
- if(i == num)
- {
- i = 0;
- printf("\r\n");
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
ds18B20內(nèi)部ID獲取.zip
(361.67 KB, 下載次數(shù): 137)
2018-3-7 15:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|