你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于映射的一个小问题

[复制链接]
木头子 提问时间:2014-3-6 10:42 /
程序如下:
 if ((FLASH_ReadOptionByte(0x4803) >> 8) != 0x42 )
 {
  FLASH_Unlock(FLASH_MEMTYPE_DATA);
 
  FLASH_EraseOptionByte(0x4803);
 
  FLASH_ProgramOptionByte(0x4803, 0x42);
 
  FLASH_Lock(FLASH_MEMTYPE_DATA);
 }
 
我是这样想的,将0x4803的内容进行右移再判断是否等于0x42,但是0x4803里面存的是一个字节吧,这样的话右移8位不就是0 了,那就永远不等于0x42,这条if就一直为真。
不知道本人哪里理解错了,希望大家帮忙解答。谢谢大家。
收藏 评论7 发布时间:2014-3-6 10:42

举报

7个回答
木头子 回答时间:2014-3-7 13:35:45

回复:关于映射的一个小问题

这么个问题都木有人帮忙回答
aaa999kk 回答时间:2014-3-7 14:08:48

RE:关于映射的一个小问题

你这个数值应该不是固定的,否则无法确定啊
灰小子-1888763 回答时间:2014-3-7 20:50:05

RE:关于映射的一个小问题

ASCII中0x42是字符“B”
aaa1350 回答时间:2014-3-7 23:49:11

RE:关于映射的一个小问题

如果确定了是0或1或者是上面说的什么B, 固定的也好, 不固定也好,程序一般开发出来总是可以修改和调试的
abner88 回答时间:2014-3-9 14:53:34

RE:关于映射的一个小问题

这个函数返回选项字节 OptionByte 双字节的 你可以看看这个函数原型 返回的是u16
所以是在判断高字节,如果不等于0x42,那么写入0x42,注意后面编程函数数据是u8
木头子 回答时间:2014-3-10 19:56:36

回复:关于映射的一个小问题

回复第 6 楼 于2014-03-09 14:53:34发表:
这个函数返回选项字节 OptionByte 双字节的 你可以看看这个函数原型 返回的是u16
所以是在判断高字节,如果不等于0x42,那么写入0x42,注意后面编程函数数据是u8
 

谢谢
废鱼 回答时间:2014-3-11 10:30:50

RE:关于映射的一个小问题

FLASH_ReadOptionByte(0x4803) ,FLASH读取出来的都是双字的,没有单字节的。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版