各路大侠,在调试Tiva M4 的时候碰到了一个奇怪的问题,SPI I2C 都调通了,在调试LCD的时候
我们用EVM 板自带的测试程序 C:\ti\TivaWare_C_Series-2.0.1.11577\examples\boards\dk-tm4c129x\dk-tm4c129x.eww 中的hello 工程 去测试板子,发现在
void
Kentec320x240x16_SSD2119Init(uint32_t ui32SysClock)
{
uint32_t ui32ClockMS, ui32Count;
tLCDIDDTiming sTimings;
//
// Determine the number of system clock cycles in 1mS
//
ui32ClockMS = CYCLES_FROM_TIME_US(ui32SysClock, 1000);
//
// Divide by 3 to get the number of SysCtlDelay loops in 1mS.
//
ui32ClockMS /= 3;
//
// Enable the LCD controller.
//
SysCtlPeripheralEnable(SYSCTL_PERIPH_LCD0);
//
// Assert the LCD reset signal.
//
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_6, 0);
………………………..
发现运行SysCtlPeripheralEnable(SYSCTL_PERIPH_LCD0); 不正确。对LCD Controller Run Mode Clock Gating Control (RCGCLCD) 的最后一位操作无效果。通过与你们的EVM比较发现得到的Device Identification 1 (DID1)数据和数据手册上的值不一致,我们得到的值是0x10CAE076 而数据手册上的值为1032E076.
能否给出一个建议? 谢谢
Cheng Jordan:
M4工程样片的图片如图。
Cheng Jordan:
回复 Cheng Jordan:
顶一下,希望有高人出现。
xyz549040622:
1.你用MDK打开,进去看看是不是寄存器的操作库里面有不对的地方了
2.你的那两个函数前面加个ROM_SysCtlPeripheralEnable()试试看
3.下载最新的库函数试试
Michael Sun:
DID1的区别在于bit16~bit23.这个是标示器件型号的。
请问SysCtlPeripheralEnable(SYSCTL_PERIPH_LCD0)这句话是仿真的时候不正确还是全速运行的时候不正确?
是一颗芯片碰到这个问题,还是一批次都有这个问题?