作者proach (p.roach)
看板ASM
标题Re: [问题] 跳出的问题
时间Mon Jun 8 16:40:31 2009
你的程式风格... 相信你可以作得更好的 :)
有个暴力方法,这方法很糟糕但是可以满足你的需求。
首先将回圈控制变数都宣告成 global
UART_RX_ISR( ){
byteReceivedByte = SBUF;
if( SBUF == 'E' ){
Test_Pate = 0xffff; //让所有的回圈都无法执行就好了
other_loop_variabes = 0xffff;
}
}
有高手建议的 RTOS写法,或是multithreading写法都会有帮助,
但最终的效能还是取决於 i2c code的效率,这边不改善终究是
有其限制。
※ 引述《CuckooBoy (新竹的仔)》之铭言:
: 我之前的写法,如下.
: 按下E时,不会马上跳开,要等一段时间.
: 另外, if (SBUF=='E'||SBUF=='e') 也会影响速度,
: 设越多速度越慢,行数变多,但是会比较灵.
: 顾及到速度,及"即时反应"...有更好的方法可以解决吗?
: FLAG EEPROM_Test(void)
: {
: FLAG ErrorBit = 0;
: UWORD Test_Page,Test_Address,Test_Address1;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.207.26
1F:推 CuckooBoy:你的方法好像可以,我再多试几次.... 06/08 22:34
2F:推 CuckooBoy:可以用,真感谢你!虽然暴力,但我的MCU还放得下 06/08 22:44
3F:→ ksmrt0123:这方法... 不是高手不要用 06/09 01:36
4F:→ proach:cuckoo知道缺点在那边吗?:) 有可能程式crash喔 06/10 01:31
5F:推 CuckooBoy:缺点在哪呢? 06/11 22:21