The global chip shortage has turned me into a multi-platform firmware developer.
Zero code modifications.
STM / MM32 / Nuvotone
The global chip shortage has turned me into a multi-platform firmware developer.
Zero code modifications.
STM / MM32 / Nuvotone
兩個未知規格的熱敏電阻(10K、20K或50K…未知),熱敏電阻A、熱敏電阻B
如何驗證二顆不同的熱敏電阻規格是一致的?
原來是一個簡單的分壓問題…
測試一、正電-->熱敏電阻A--求分壓a-->熱敏電阻B--負電
測試二、正電-->熱敏電阻B--求分壓b-->熱敏電阻A--負電
測試環境從 100°C~0°C,分壓a 需恆等於分壓b
即可初步判定二顆熱敏電阻規格是一致的
bit isleap(int y)
{
return y%4==0&&y%100!=0 || y%400==0;
}
int DaysOfMonth( int y, int m )
{
switch(m)
{
case 1: return 31;
case 2: return isleap(y)?29:28;
case 3: return 31;
case 4: return 30;
case 5: return 31;
case 6: return 30;
case 7: return 31;
case 8: return 31;
case 9: return 30;
case 10: return 31;
case 11: return 30;
case 12: return 31;
}
return 30;
}
int DaysOfYear( int y )
{
if( isleap(y) )
return 366;
return 365;
}
unsigned long SecsFrom2000( int y, int m, int d, int hh, int mm, int ss )
{
int i;
unsigned long day = 0;
for( i=2000; i<y; i++ )
day += DaysOfYear(i);
for( i=1; i<m; i++ )
day += DaysOfMonth(y,i);
day += d;
day = day*86400L + hh*3600L + mm*60L + ss*1L;
return day;
}
void SecToDateTime( unsigned long sec, cdate * pdate, ctime * ptime )
{
unsigned long day;
day = sec/86400;
pdate->yy = 2000;
while( day > DaysOfYear( pdate->yy ) )
{
day-= DaysOfYear( pdate->yy );
pdate->yy++;
}
pdate->mm = 1;
while( day > DaysOfMonth( pdate->yy, pdate->mm ) )
{
day-= DaysOfMonth( pdate->yy, pdate->mm );
pdate->mm++;
}
pdate->dd = day;
ptime->hh = (sec/3600)%24;
ptime->mm = (sec/60)%60;
ptime->ss = (sec)%60;
}
筆記:
http://www.google.com/notebook/public/12398140405581905258/BDQGMIgoQ3f676KAi
寫入的流程…
Start();
Write8Bit(WriteDeviceAddress);
TestAck();
Write8Bit(RomAddress);
TestAck();
Write8Bit(*Wdata);
TestAck();
Stop();
DelayMs(10);
讀出的流程…
Start();
Write8Bit(WriteDeviceAddress);
TestAck();
Write8Bit(RomAddress);
TestAck();
Start();
Write8Bit(ReadDviceAddress);
TestAck()
Read8Bit();
Ack(); …
Read8Bit();
NoAck();
Stop();
sdelete64 -z c: VBoxManage modifymedium disk "/Users/fellow/VirtualBox VMs/Win10/Win10.vdi" --compact *.vdi 路徑可以在 VirtualBox 儲...