stm32的程序在MDK里为什么不能这么写??
10班陈大葱22号2010/10/13电子技术 IP:黑龙江
在stm32的库函数立里,对GPIOA的BRR寄存器操作语句还原回来是这样的语句: ((GPIO_TypeDef *) 0x40010800)->BRR=0x00000001;
那为什么我这条语句就不行呢:
((uint32_t *) 0x4001080c)=0x00000000;

错误信息:..\main.c(66): error:  #137: expression must be a modifiable lvalue ,大概意思是不能给一个数字赋值
为什么这样写就不行呢?我想这么来写内存.
来自:电子信息 / 电子技术
4
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
10班陈大葱22号 作者
14年4个月前 IP:未同步
261668
ourdev上有人指出了,应该是(* (uint32_t *) 0x4001080c)=0x00000000;
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
20061002838
14年4个月前 IP:未同步
265043
(*(uint32_t *) 0x4001080c)=0x00000000;
写成这样才行(uint32_t *) 是强制类型转换,把后面的数字转换成指针,之后你用指针还要加个*取数据运算符才能用;
另外最好写成(*(volatile uint32_t *) 0x4001080c)=0x00000000;避免MDK在优化的时候出现问题
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
lulu980232
13年1个月前 IP:未同步
355288
[s:274] 很棒!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
10班陈大葱22号
学者 机友 笔友
文章
98
回复
1129
学术分
8
2006/08/24注册,11个月6天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}