CH32v20x单片机risc-v内核uint64_t类型移位后变量为0解决办法

CH32v20x单片机编写程序时遇到uint64_t 变量移位后为0。

cpp 复制代码
    uint64_t   temp1 = 0;
    uint64_t   temp2 = 0;


    temp1 = (pData[0]<<24)|(pData[1]<<16)|(pData[2]<<8)|pData[3];
    myResControlBoard.rcSetRes = temp1<<32;

    temp2 = (pData[4]<<24)|(pData[5]<<16)|(pData[6]<<8)|pData[7];

    myResControlBoard.rcSetRes |= temp2;

CH32v20x默认支持32位的扩展。所以在做超过32位的扩展时,需要添加(unsigned long long int)进行强制扩展 。

下面程序可以正常运行

cpp 复制代码
    temp1 = (pData[0]<<24)|(pData[1]<<16)|(pData[2]<<8)|pData[3];
    myResControlBoard.rcSetRes = (unsigned long long int)temp1<<32;

    temp2 = (pData[4]<<24)|(pData[5]<<16)|(pData[6]<<8)|pData[7];

    myResControlBoard.rcSetRes |= temp2;
相关推荐
三品吉他手会点灯20 分钟前
STM32F103 学习笔记-21-串口通信(第3节)-STM32串口初始化结构体和固件库讲解
笔记·stm32·单片机·嵌入式硬件·学习
Lester_110136 分钟前
单片机EEPROM写入数据之前为什么要先擦除?
单片机·嵌入式软件
点灯小铭38 分钟前
基于单片机的多功能LCD万年历时钟设计与温度显示系统
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
点灯小铭40 分钟前
基于单片机的玉米播种机漏播检测装置设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
三佛科技-187366133971 小时前
FT32F072KBBU7/C8AT7/CBAT7系列32位RISC内核MCU详细解析
单片机·嵌入式硬件
三佛科技-187366133971 小时前
AiP33620系列2线串口共阴极8段8位恒流LED驱动芯片解析
单片机·嵌入式硬件
清风6666661 小时前
基于单片机的条形码识别系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
TEC_INO1 小时前
STM32_5:I2C
stm32·单片机·嵌入式硬件
TEC_INO1 小时前
STM32_6:OLED屏幕开发
stm32·嵌入式硬件·mongodb
飞睿科技2 小时前
深入解读乐鑫ESP32-S3,如何以单芯片搞定AIoT终端设备的智能交互
嵌入式硬件·ai·esp32·智能家居·乐鑫科技·ai交互