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

查看: 1607|回复: 7

关于映射的一个小问题

[复制链接]

8

主题

31

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-3-6 10:42:36 | 显示全部楼层 |阅读模式
程序如下:
 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就一直为真。
不知道本人哪里理解错了,希望大家帮忙解答。谢谢大家。
回复

使用道具 举报

8

主题

31

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2014-3-7 13:35:45 | 显示全部楼层

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

这么个问题都木有人帮忙回答
回复 支持 反对

使用道具 举报

23

主题

195

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2014-3-7 14:08:48 | 显示全部楼层

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

你这个数值应该不是固定的,否则无法确定啊
回复 支持 反对

使用道具 举报

1

主题

51

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-3-7 20:50:05 | 显示全部楼层

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

ASCII中0x42是字符“B”
回复 支持 反对

使用道具 举报

3

主题

18

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-3-7 23:49:11 | 显示全部楼层

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

如果确定了是0或1或者是上面说的什么B, 固定的也好, 不固定也好,程序一般开发出来总是可以修改和调试的
回复 支持 反对

使用道具 举报

2

主题

20

回帖

0

蝴蝶豆

初级会员

最后登录
2018-4-18
发表于 2014-3-9 14:53:34 | 显示全部楼层

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

这个函数返回选项字节 OptionByte 双字节的 你可以看看这个函数原型 返回的是u16
所以是在判断高字节,如果不等于0x42,那么写入0x42,注意后面编程函数数据是u8
回复 支持 反对

使用道具 举报

8

主题

31

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2014-3-10 19:56:36 | 显示全部楼层

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

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

谢谢
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2014-3-11 10:30:50 | 显示全部楼层

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

FLASH_ReadOptionByte(0x4803) ,FLASH读取出来的都是双字的,没有单字节的。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版