|
從DS18B20采集,發送到串口打印DS18B20序列并顯示溫度,主要代碼以下,具體實現可見源代碼
int main(void)
{
uint8_t uc, ucDs18b20Id [ 8 ];
/* 配置SysTick 為1us中斷一次 */
SysTick_Init();
/* LED 端口初始化 */
LED_GPIO_Config();
USART_Config(); //初始化串口1
printf("\r\n this is a ds18b20 test demo \r\n");
while( DS18B20_Init() )
printf("\r\n no ds18b20 exit \r\n");
printf("\r\n ds18b20 exit \r\n");
DS18B20_ReadId ( ucDs18b20Id ); // 讀取 DS18B20 的序列號
printf("\r\nDS18B20的序列號是: 0x");
for ( uc = 0; uc < 8; uc ++ ) // 打印 DS18B20 的序列號
printf ( "%.2x", ucDs18b20Id [ uc ] );
for(;;)
{
printf ( "\r\n獲取該序列號器件的溫度: %.1f\r\n", DS18B20_GetTemp_MatchRom ( ucDs18b20Id ) ); // 打印通過 DS18B20 序列號獲取的溫度值
Delay_ms(1000); /* 1s 讀取一次溫度值 */
LED2_TOGGLE;
}
}
|
|