OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6910|回复: 5

关于u8和u16数据类型的疑问

[复制链接]

23

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2015-2-19
在线时间
32 小时
发表于 2015-10-6 22:31:08 | 显示全部楼层 |阅读模式
5金钱
FLASH模拟EEPROM的实验中,我看到了这样的代码
//定u8的字符串数组 获取数组的长度 这里SIZE为17
const u8 TEXT_Buffer[]={"STM32 FLASH TEST"};
#define SIZE sizeof(TEXT_Buffer)        

//向指定地址写数据
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,SIZE); 

以上函数中,把u8类型的指针转换成u16的了,那么SIZE是不是也要对应/2呢?

最佳答案

查看完整内容[请看2#楼]

這要取決於 STMFLASH_Write 這函數內是以什麼類型在操作 官方版本的 類似的函數 有多一個參數要傳遞 這參數會表明是寫入 uint_8t uint_16t uint_32t uint_64t 哪一種資料長度
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

239

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2015-6-5
在线时间
110 小时
发表于 2015-10-6 22:31:09 | 显示全部楼层
這要取決於 STMFLASH_Write 這函數內是以什麼類型在操作

官方版本的 類似的函數 有多一個參數要傳遞
這參數會表明是寫入
uint_8t
uint_16t
uint_32t
uint_64t
哪一種資料長度
回复

使用道具 举报

23

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2015-2-19
在线时间
32 小时
 楼主| 发表于 2015-10-7 19:44:08 | 显示全部楼层
回复【2楼】Rocks:
---------------------------------
在文档里有说明是u16的长度,即半字的个数
回复

使用道具 举报

2

主题

239

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2015-6-5
在线时间
110 小时
发表于 2015-10-8 09:23:42 | 显示全部楼层
那確實該除以二

只是直接除二會有問題 還需要做點處理
譬如你用u8 字串 有11個字的時候
sizeof 直接除二 會剩5
回复

使用道具 举报

23

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2015-2-19
在线时间
32 小时
 楼主| 发表于 2015-10-8 13:23:15 | 显示全部楼层
回复【4楼】Rocks:
---------------------------------
恩,多谢
回复

使用道具 举报

42

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
456
金钱
456
注册时间
2017-9-8
在线时间
58 小时
发表于 2017-10-23 17:16:33 | 显示全部楼层
only 发表于 2015-10-8 13:23
回复【4楼】Rocks:
---------------------------------
恩,多谢

同志  你解决这个问题了吗?是不是官方的错了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 18:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表