dspic33e iolock/IOL1WAY 相关说明和注意事项
dspic33e提供了一个对于I/O Ports with Peripheral Pin Select (PPS)配置保护接口,详细见关于iolock/IOL1WAY的配置:
文档: Section 30. I/O Ports with Peripheral Pin Select (PPS)
下载地址:http://ww1.microchip.com/downloads/en/DeviceDoc/70190E.pdf
结合文档说明,我们可以得到如下使用规则:
1. 更改RPINRx and RPORx等配置的时候,必须调用如下的函数对IOLOCK bit (OSCCON<6>)进行解锁和枷锁操作。
1). __builtin_write_OSCCONL(OSCCON & (~(1<<6))); // clear bit 6 to excute unlock
2). configure RPINRx and RPORx
3). __builtin_write_OSCCONL(OSCCON | (1<<6)); // Set bit 6 to excute lock
2. 如果需要多次修改RPINRx and RPORx等配置, 需要确保IOL1WAY (FOSC<5>) 为零。
在开发bootloader程序的时候需要特别注意iolock/IOL1WAY控制位的设置问题:
为了增加配置的灵活性,最好将IOL1WAY默认设置为0, 以允许多次配置