打印
[PIC®/AVR®/dsPIC®产品]

这要怎么办

[复制链接]
486|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuzaiy|  楼主 | 2022-11-25 20:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在用SPI2BUF传入数值时,本来要传入的是0xcf,但是在单步调试的时候发现传入byte的值的确是0xcf,但是SPI2BUF= data; 之后SPI2BUF变成了0x5f,请问一下这要怎么办

使用特权

评论回复
沙发
zhenykun| | 2022-11-25 20:30 | 只看该作者
unsigned char SPI_RW(unsigned char data)
{

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

}
这个是代码,不知道这么写有没有问题

使用特权

评论回复
板凳
jlyuan| | 2022-11-25 20:33 | 只看该作者
代码是对的。

使用特权

评论回复
地板
heweibig| | 2022-11-25 20:35 | 只看该作者
值还能传错吗?奇怪,只要你初始化正确,传进去什么就是什么值的。

使用特权

评论回复
5
wyjie| | 2022-11-25 20:37 | 只看该作者
SPI2BUF变成了0x5f,你是用的SPI_RW读取的吗?

使用特权

评论回复
6
huanghuac| | 2022-11-25 20:39 | 只看该作者
要看发送出去的数据是否正确

使用特权

评论回复
7
liliang9554| | 2022-11-25 20:41 | 只看该作者
初始化正确,传进去什么就是什么值的

使用特权

评论回复
8
liuzaiy|  楼主 | 2022-11-25 20:42 | 只看该作者
嗯,那我按大家的说法挨个排查一下,谢谢哈

使用特权

评论回复
9
AdaMaYun| | 2022-12-25 13:06 | 只看该作者
输入正确应该就出来什么值吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

735

主题

7546

帖子

2

粉丝