完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
比如需要一个变量,8位足够,那么定义的时候是定义成u8?u16?u32?
“32位在某些情况下需要对齐,对datafalsh读写时地址要是4的整数倍 编程方面如果RAM足够考虑到效率问题尽可能用32位变量,不过貌似编译器会根据情况自动把char换成int32” |
|
相关推荐
2个回答
|
|
51的才用ux,arm用uintxx_t
|
|
|
|
在STM32编程中,选择合适的变量类型取决于你的具体需求。以下是一些建议:
1. 如果你的变量只需要8位,那么定义为8位(uint8_t,即u8)是合适的。这样可以节省内存空间,同时提高代码的可读性。 ```c uint8_t my_variable; ``` 2. 如果你的变量需要16位,那么定义为16位(uint16_t,即u16)是合适的。 ```c uint16_t my_variable; ``` 3. 如果你的变量需要32位,那么定义为32位(uint32_t,即u32)是合适的。在某些情况下,使用32位变量可以提高代码的执行效率,因为现代处理器通常对32位和64位操作有较好的优化。 ```c uint32_t my_variable; ``` 4. 如果你的变量在8位和16位之间,可以根据实际情况选择。如果变量的值不会超过255,那么使用8位变量是合适的。如果变量的值可能超过255但不会超过65535,那么使用16位变量是合适的。 5. 在某些特定情况下,如对齐要求或特定硬件操作,可能需要使用特定位数的变量。例如,对于某些DMA操作,可能需要使用32位对齐的变量。 6. 编译器通常会自动优化变量类型,但最好还是根据实际需求手动选择合适的类型,以提高代码的可读性和可维护性。 总之,选择变量类型时应考虑变量的实际需求、内存空间、执行效率和特定硬件要求。在大多数情况下,如果8位足够,那么定义为8位变量(u8)是合适的。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1937浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
730浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
553浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 00:32 , Processed in 0.472889 second(s), Total 43, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号