关于SPI

2019-03-24 14:43发布

SPI的RXBUF读不走数据,是什么原因啊? INT8U temp;
        temp=UCB1RXBUF; 进行以上语句之后,temp没有值,而且BUF中还有值。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
5xue
1楼-- · 2019-03-25 16:14
 精彩回答 2  元偷偷看……
l0700830216
2楼-- · 2019-03-25 19:09
我是直接在IAR软件上看的寄存器不回错的,就是因为程序达不到要求才一步一步分析的。好郁闷啦。。。
5xue
3楼-- · 2019-03-26 00:59
我把我用的代码给你吧,你改一下,再试试

/*******************************************
函数名称:Init_SPI0
功    能:初始化SPI0
参    数:无
返回值  :无
调用模块:
********************************************/
void Init_SPI0(void)
{
          UCTL0 |= SWRST;
        P3SEL |= 0x0e;                      //选择P3口低四位
        P3DIR |= 0x0b;                                                //SIMO,UCLK,CS设为输出
       
    ME1 |= USPIE0;                                                //SPI0模块使能
    UCTL0 |= CHAR;                      // 8-bit character
        //UCTL0 |= PENA + PEV;                                //校验选择
        //UCTL0 |= SPB + LISTEN;                        //停止位位数,反馈
        UCTL0 |= SYNC + MM;                                        //SPI模式,主发送模式
    UTCTL0 |= SSEL1 + STC;              //UCLK = ACLK,3线
        UTCTL0 |= CKPH;                                                //时钟相位
       
    UBR00 = 0x02;                       // 32k/9600 - 3.41
    UBR10 = 0x00;                       //
    UMCTL0 = 0x00;                      // Modulation
    UCTL0 &= ~SWRST;                    // Initialize USART state machine
    //IE1 |= URXIE0;                                                //使能接收中断0
        //IE1 |= UTXIE0;                                                //使能发送中断0
}

这是初始化部分
5xue
4楼-- · 2019-03-26 06:42
 精彩回答 2  元偷偷看……
l0700830216
5楼-- · 2019-03-26 12:25
试了下你的程序,还是不行。
SPI传输支持的频率范围是多少?我怀疑是不是SPI不能在我设定的频率下工作啊?
5xue
6楼-- · 2019-03-26 16:06
频率除了一些特殊场合,影响不大的,你把你涉及到SPI的代码都贴上来来看看

一周热门 更多>

相关问题

    相关文章