EEPROM問題
|
||||
---|---|---|---|---|
初級會員
|
因為EEPROM使用8Bit的元件最大顯示只能到255
後利用程式修改使數值一分為二 例子: 1234/1000=1 (1234-1000)/100=2 (1234-1000-200)/10=3 . . . . 利用上面方法使1234分為12及34儲存進EEPROM 但不知何 12*100+34 應該為=1234 但值超過255時 34會自動歸0從新開始(260讀值為5) 不知未何請大大教導一下! 部份程式 存值程式 SPI_8=SPI_ALL/10000000; SPI_7=(SPI_ALL-(SPI_8*10000000))/1000000 ; SPI_6=(SPI_ALL-(SPI_8*10000000)-(SPI_7*1000000))/100000 ; SPI_5=(SPI_ALL-(SPI_8*10000000)-(SPI_7*1000000)-(SPI_6*100000))/10000 ; SPI_4=(SPI_ALL-(SPI_8*10000000)-(SPI_7*1000000)-(SPI_6*100000)-(SPI_5*10000))/1000 ; SPI_3=(SPI_ALL-(SPI_8*10000000)-(SPI_7*1000000)-(SPI_6*100000)-(SPI_5*10000)-(SPI_4*1000))/100 ; SPI_2=(SPI_ALL-(SPI_8*10000000)-(SPI_7*1000000)-(SPI_6*100000)-(SPI_5*10000)-(SPI_4*1000)-(SPI_3*100))/10 ; SPI_1=(SPI_ALL-(SPI_8*10000000)-(SPI_7*1000000)-(SPI_6*100000)-(SPI_5*10000)-(SPI_4*1000)-(SPI_3*100)-(SPI_2*10)); SPI_A4=SPI_8*10+SPI_7; SPI_A3=SPI_6*10+SPI_5; SPI_A2=SPI_4*10+SPI_3; SPI_A1=SPI_2*10+SPI_1; SPI_EEPROM_ByteWrite( 0x10 , SPI_A4 ) ; while ( ! SPI_EE_Ready() ) ; SPI_EEPROM_ByteWrite( 0x20 , SPI_A3 ) ; while ( ! SPI_EE_Ready() ) ; SPI_EEPROM_ByteWrite( 0x30 , SPI_A2 ) ; while ( ! SPI_EE_Ready() ) ; SPI_EEPROM_ByteWrite( 0x40 , SPI_A1 ) ; 讀值程式 EEPROM_A4 = SPI_EEPROM_ByteRead( 0x10 ) ; EEPROM_A3 = SPI_EEPROM_ByteRead( 0x20 ) ; EEPROM_A2 = SPI_EEPROM_ByteRead( 0x30 ) ; EEPROM_A1 = SPI_EEPROM_ByteRead( 0x40 ) ; EEPROM_ALL=EEPROM_A4*1000000+EEPROM_A3*10000+EEPROM_A2*100+EEPROM_A1; setcurLCD(0,1); put_Num_LCD(EEPROM_ALL) ; setcurLCD(10,1); put_Num_LCD(EEPROM_A1) ;
發表於: 2009/10/26 21:50
|
|||
|