復制的程式,同批次的電子元件,組裝起來性能差別巨大。——記多端無線溫度檢測控制,基于STM32F103&NRF24L01。最后檢查出來,因為延時函式的不規范。
void delay_us(u16 time)
{
u16 i=0;
while(time--)
{
i=8; //????
while(i--) ;
}
}
未按照單片機系統時鐘和機器周期進行計算設定。原版為i=10;導致傳感器時鐘線受影響。
教訓:撰寫統一的延時函式,不應使用如上的簡陋不標準的延時函式。傳感器作業不正常時,重點關注時鐘線。單片機之間存在微小差異,務必做到面面俱到。
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/154056.html
標籤:單片機/工控
上一篇:想寫一個遙控小車的程式,void serial() interrupt 4 跳不進去
下一篇:求教高人,ISO 11898-2里面說的"Bus biasing active or inactive"怎么理解?
