28335可以定义多少位的无整型数据?Uint32?Uint64可以吗

DSPscififo   2015-6-14 16:52 楼主
28335可以定义多少位的无整型数据?Uint32?Uint64可以吗

回复评论 (7)

可以
点赞  2015-6-14 21:05
需要注意存放的都是八位单元
君应有语,渺万里层云,千山暮雪,知向谁边?
点赞  2015-6-14 21:24

64位也行?比如16进制,定义Uint64 a=0x0000000000000000;
点赞  2015-6-15 11:33
引用: DSPscififo 发表于 2015-6-15 11:33
64位也行?比如16进制,定义Uint64 a=0x0000000000000000;

当然可以。而且定义多少位的数都是编译器决定的,不是芯片决定呢。
点赞  2015-6-15 11:46
引用: jishuaihu 发表于 2015-6-15 11:46
当然可以。而且定义多少位的数都是编译器决定的,不是芯片决定呢。

谢啦~可不可以帮我看下这个问题:28335sci接收数据错误如何清FIFO的问题
interrupt void scicRxFifoIsr(void)
{
    Uint16 i;
        for(i=0;i<16;i++)
        {
           rdataC=ScicRegs.SCIRXBUF.all;         // Read data
        }
        if(rdataC[0]==0xEB&&rdataC[1]==0x90&&rdataC[2]==0xEB&&rdataC[3]==0x90)
        {  
     if(rdataC[4]==0x00&&rdataC[5]==0x06)
     {Tyd=1;}
     else if(rdataC[4]==0x01&&rdataC[5]==0x03)
     {
       Tyd=2;
     }
     else if(rdataC[4]==0x01&&rdataC[5]==0x04)
     {Tyd=3;}
    }
    else
    {
            ScicRegs.SCIFFRX.bit.RXFIFORESET=0;
            ScicRegs.SCIFFRX.bit.RXFIFORESET=1;
    }
   
        ScicRegs.SCIFFRX.bit.RXFFOVRCLR=1;  // Clear Overflow flag
        ScicRegs.SCIFFRX.bit.RXFFINTCLR=1;         // Clear Interrupt flag
        PieCtrlRegs.PIEACK.all|=0x80;          // Issue PIE ack
}
问题是这样的,我接收中断使用的16级FIFO。上位机给我传16帧(EB90EB9000060102030405060708090A)的数据正好进一次中断,然后判断前四个是不是EB90EB90以及功能码。但是这种方法容易出现的问题是假如第一位错误比如先发过来一个01,然后才是需要的16帧数据,这样当FIFO接收到09时就会进入中断,读过FIFO数据后 FIFO清0,然后0A就留在了下次FIFO第一位,然后等满16级再次进入中断,这样就会出现一直错一位数据。所以我想当判断接收错误时,把FIFO清0,这样下次再接收EB90EB9000060102030405060708090A时就不会错位了。但是发现清不了还是一直错位
点赞  2015-6-15 11:56
引用: DSPscififo 发表于 2015-6-15 11:56
谢啦~可不可以帮我看下这个问题:28335sci接收数据错误如何清FIFO的问题
interrupt void scicRxFifoIsr(void)
{
    Uint16 i;
        for(i=0;i

我也为这个事发过愁,后来就没有用FIFO。你到http://www.deyisupport.com/去提问吧,会得到TI的官方回答
点赞  2015-6-15 12:01
我记得在DSP使用的时候,定义U16 分配的还是32位的单元
点赞  2015-6-28 10:36
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复