|
楼主 |
发表于 2019-1-31 11:12:37
|
显示全部楼层
本帖最后由 eddiewwm 于 2019-1-31 15:38 编辑
以下是用 bbsniua 提供的基礎,把14個I/O全作輸出的走馬燈程序,實證工作正常,芯片也沒出現不能再燒寫的情況。當中要注意的是: RSTN要設在I/O Mode,而且要注意RA3是開漏輸出。
【補充:在多試了一些不同的開關時間後,發現仍會出現不能再燒寫的情況,所以,結論還是保留Reset在 Reset Mode,才是保險之策。】
- //===================================================
- // Auto generated file : 30/1/2019 12:36:42
- //===================================================
- #include "allinone.h"
- // Import external definitions
- extern void init_modules(void);
- #define testLED P2
- int showGPPALED[]={P0,P1,P2,P3,P4,P5,P6,P7};//{P0,P1,P2,P3,P4,P5,P6,P7}
- int showGPPCLED[]={P0,P1,P2,P3,P4,P5};
- int main(void)
- {
- // Device initialization
- init_modules();
- // Add your code from here
- TRISA1 = 0; // RA1?置??出
- RA1 = 0; // RA1?出0
- TRISC0 = 0;
- delayms(1); // 延?1ms
- if(RA1) // ??到?程器?接?RA1被拉到1
- {
- TRISA1 = 1; // 把RA1恢复?入
- while(1)
- {
- for (int i=0; i<8; i++)
- {
- gppToggle(GPPA, showGPPALED[i]);
- delayms(500);
- }
- for (int i=0; i<6; i++)
- {
- gppToggle(GPPC, showGPPCLED[i]);
- delayms(500);
- }
- }
- }
-
- while(1)
- {
- for (int i=0; i<8; i++)
- {
- gppToggle(GPPA, showGPPALED[i]);
- delayms(500);
- }
- for (int i=0; i<6; i++)
- {
- gppToggle(GPPC, showGPPCLED[i]);
- delayms(500);
- }
- }
-
- return 0;
- }
复制代码
|
|