同志们好!
对寄存器控制问题,
SPRS880F文档的表6-5中,未有任何标注的寄存器为:The peripheral registers can be assigned to either the CPU1 or CPU2 subsystems,也就是说可以受任一CPU控制。然而程序中使用CPU2对I2C-A初始化,均无法写入。
相同的问题还有其它寄存器(技术手册中CPU2可以操作的),
看CPU结构框图(图6-1),发现有个data bus bridge,而在技术文档SPRUHM8I中并没有它的使用说明。
————-对IPC的写入正确,
谢谢大家!
Susan Yang:
您是否有使用下面的语句?
// Give control to CPU2SysCtl_selectCPUForPeripheral(SYSCTL_CPUSEL7_I2C,1,SYSCTL_CPUSEL_CPU2);使外设可以从CPU2进行控制。
TX dong:
回复 Susan Yang:
谢谢指导
没用它!
请问这个函数是在哪个文件中?
TX dong:
回复 Susan Yang:
非常感谢。
找到那个函数了!不过,我没用它,总觉得用了那么大一个函数,仅完成对一个寄存器的某一位设置,有些太浪费了,
我用了直接寄存器操作:EALLOW;DevCfgRegs.CPUSEL7.bit.I2C_A= 1;EDIS;
TX dong:
回复 Susan Yang:
非常感谢。
找到那个函数了!不过,我没用它,总觉得用了那么大一个函数,仅完成对一个寄存器的某一位设置,有些太浪费了,
我用了直接寄存器操作:EALLOW;DevCfgRegs.CPUSEL7.bit.I2C_A= 1;EDIS;
Susan Yang:
回复 TX dong:
谢谢您的反馈!
因为我一般使用driverlib,所以一般会使用上面的函数。