凝露的枯藤 发表于 2014-5-12 21:30:25

28335 SCIC 寄存器赋值失败

       28335 的SCIA调试没有问题之后,在对28335的SCIC口进行硬件测试时出现寄存器无法赋值问题。 具体问题是: 对SCIC 初始化之后,用watch窗口看ScicRegs的各个寄存器数值,有些为0 ,有些乱码,不是程序的赋值。
      1、初始化函数直接拷贝SCIA的配置,单步执行函数,也进入了初始化函数。GPIO口配置GPIO62GPIO63 为SCIC口。
      2、排除没有使能SCIC CLK信号。
      3、CMD文件配置正确。
      4、SCIC的寄存器应该不存在EALLOW保护。
         
         无法明白哪里出了问题,28335的datasheet对SCIC的寄存器没有说明,出现这个问题很头疼啊。    随意对SCIB进行寄存器赋值就是好的,真 难 受。。。。
      
void scic_fifo_init()               
{
   ScicRegs.SCICCR.all =0x0007;    // 1 stop bit,No loopback
                                 // No parity,8 char bits,
                                 // async mode, idle-line protocol
   ScicRegs.SCICTL1.all =0x0003;   // enable TX, RX, internal SCICLK,
                                    // Disable RX ERR, SLEEP, TXWAKE
   ScicRegs.SCICTL2.bit.TXINTENA =0; //disable tx int
   ScicRegs.SCICTL2.bit.RXBKINTENA =0;//disable rx int
   ScicRegs.SCIHBAUD    =1;
   ScicRegs.SCILBAUD    =0xE7;
   ScicRegs.SCICCR.bit.LOOPBKENA =1; // Disable loop back
   ScicRegs.SCIFFTX.all=0xC028;
   ScicRegs.SCIFFRX.all=0x0028;
   ScicRegs.SCIFFCT.all=0x00;

   ScicRegs.SCICTL1.all =0x0023;   // Relinquish SCI from Reset
   ScicRegs.SCIFFTX.bit.TXFIFOXRESET=1;
   ScicRegs.SCIFFRX.bit.RXFIFORESET=1;
}

weiqinghonghong 发表于 2014-5-12 22:05:31

这个不懂,我以前遇到都是关了软件再来一次。。。。。。。

凝露的枯藤 发表于 2014-5-14 17:06:37

自己结贴。 SCI应该还是比较简单的。我的问题比较二逼,我在RAM里调试串口,然后RAM文件夹的SCIC 的CLK 没有使能。 我用search查询的时候 首先查到是FLASH文件夹中的,那个里面的SCIC CLK 使能了。然后 FLASH文件夹在CCS5里面是排在 RAM文件夹 前面的的, 所以我自以为 SCIC CLK已经使能过了。 所以,如果发现DSP的寄存器出现无法赋值现象应该还是我上述排除的那几个原因。 如果这样还不行,那二逼问题一般都是二逼错误,这就没办法了。
                其实最不可能的是,DSP坏了。。。 这么容易坏,那就说明是拆机货。
页: [1]
查看完整版本: 28335 SCIC 寄存器赋值失败