[MCU] 430怎么处理32位的数据?

[复制链接]
676|7
 楼主| 两只袜子 发表于 2020-11-5 11:11 | 显示全部楼层 |阅读模式
TE, sd, AD, spi, pi
最近在做SD卡的程序,从32上移植了个SD卡程序。如下。

//向SD卡发送一个命令
//输入: u8 cmd   命令
//      u32 arg  命令参数
//      u8 crc   crc校验值
//返回值:SD卡返回的响应
u8 SD_SendCmd(u8 cmd, u32 arg, u8 crc)
{
    u8 r1;
        u8 Retry=0;
        SD_DisSelect();//取消上次片选
        if(SD_Select())return 0XFF;//片选失效
        //发送
    SD_SPI_ReadWriteByte(cmd | 0x40);//分别写入命令
    SD_SPI_ReadWriteByte(arg >> 24);
    SD_SPI_ReadWriteByte(arg >> 16);
    SD_SPI_ReadWriteByte(arg >> 8);
    SD_SPI_ReadWriteByte(arg);
    SD_SPI_ReadWriteByte(crc);
        if(cmd==CMD12)
                SD_SPI_ReadWriteByte(0xff);//Skip a stuff byte when stop reading
    //等待响应,或超时退出
        Retry=0X1F;
        do
        {
                r1=SD_SPI_ReadWriteByte(0xFF);
        }while((r1&0X80) && Retry--);
        //返回状态值
    return r1;
}



其中arg是32位的数据,编译时CCS警告溢出,放在这里该怎么处理?
ayb_ice 发表于 2020-11-5 15:52 | 显示全部楼层
警告不等于错误
ayb_ice 发表于 2020-11-5 15:53 | 显示全部楼层
强制转换下就可以了
heimaojingzhang 发表于 2020-12-2 15:23 | 显示全部楼层
可以完全忽略警告的
keaibukelian 发表于 2020-12-2 15:25 | 显示全部楼层
转换成其他长度的
labasi 发表于 2020-12-2 15:35 | 显示全部楼层
实际运行一下 看看有木有问题
paotangsan 发表于 2020-12-2 15:37 | 显示全部楼层
转换成8位的就行啊
renzheshengui 发表于 2020-12-2 15:39 | 显示全部楼层
分段处理就行了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

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