这要怎么办

[复制链接]
635|8
 楼主| liuzaiy 发表于 2020-2-8 17:43 | 显示全部楼层 |阅读模式
我在用SPI2BUF传入数值时,本来要传入的是0xcf,但是在单步调试的时候发现传入byte的值的确是0xcf,但是SPI2BUF= data; 之后SPI2BUF变成了0x5f,请问一下这要怎么办
chenho 发表于 2020-2-8 17:51 | 显示全部楼层

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| liuzaiy 发表于 2020-2-8 17:55 | 显示全部楼层
unsigned char SPI_RW(unsigned char data)
{

    SPI2BUF = data;
    while(!IFS2bits.SPI2IF);
    IFS2bits.SPI2IF = 0;
    temp_data = SPI2BUF;
    return SPI2BUF;

}
这个是代码,不知道这么写有没有问题
zyf部长 发表于 2020-2-8 17:57 | 显示全部楼层
代码是对的。
bqyj 发表于 2020-2-8 18:01 | 显示全部楼层

值还能传错吗?奇怪,只要你初始化正确,传进去什么就是什么值的。
zhuhuis 发表于 2020-2-8 18:06 | 显示全部楼层
SPI2BUF变成了0x5f,你是用的SPI_RW读取的吗?
songqian17 发表于 2020-2-8 18:10 | 显示全部楼层
要看发送出去的数据是否正确
 楼主| liuzaiy 发表于 2020-2-8 18:12 | 显示全部楼层

嗯,那我按大家的说法挨个排查一下,谢谢哈
小卡 发表于 2020-2-19 13:50 | 显示全部楼层
建议下次题目列清楚一点~ 有人看及回覆机会更大啊~  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

735

主题

7546

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部