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;
相关推荐
憧憬一下1 小时前
Linux内核早期打印机制与RS485通信技术
arm开发·嵌入式硬件·嵌入式·linux驱动开发
电子工程师UP学堂2 小时前
电子应用设计方案-37:智能鼠标系统方案设计
人工智能·单片机·嵌入式硬件·计算机外设
Q23553688722 小时前
100V降压恒流芯片SL2516D 内置MOS管 支持15W功率输出 电动车照明
单片机·嵌入式硬件
石板小湫2 小时前
46 基于单片机的烧水壶系统设计
单片机·嵌入式硬件
lucy1530275107912 小时前
【青牛科技】BISS0001高性能的传感信号处理集成电路芯片,广泛用于安防、自控等领域能
科技·单片机·智能家居·信号处理·安防·工控主板
白天看海12 小时前
40 基于单片机的温湿度检测判断系统
单片机·嵌入式硬件
电子设计师12 小时前
45 基于单片机的信号选择与温度变化
单片机·嵌入式硬件
zcb84964437112 小时前
27 基于51单片机的方向盘模拟系统
嵌入式硬件·51单片机·proteus·方向盘
test猿13 小时前
电与计算机的关系
单片机·嵌入式硬件·物联网
编程圈子15 小时前
STM32 HAL库开发学习3.STM32启动浅析
stm32·嵌入式硬件·学习