查看: 3113  |  回复: 5
STM32 GPIO 问题求助

主题

回复
发表于2017-08-29 10:13:47 | 显示全部楼层
1# 电梯直达

在一个SRAM读写设备上,我将

PA0-PA7 设置为A0-A7

PB0-PB7 设置为A8-A15 

PB8-PB15 设置为D0-D7

PA8,PA9,PA10 设置为WR CS OE


#define SET_ADDRESS(_ADR) GPIOA->BSRR  = (u32)(0x00FF0000);	GPIOA->BSRR  = (u32)(((_ADR)>>0)&0x000000FF);\
GPIOB->BSRR  = (u32)(0x00FF0000);	GPIOB->BSRR  = (u32)(((_ADR)>>8)&0x000000FF)
 
#define DATA_READ(_VAR)   _VAR=(((GPIOB->IDR)&0xFF00)>>8)
#define DATA_WRITE(_VAL)  GPIOB->BSRR = (u32)(0xFF000000); GPIOB->BSRR = (u32)(((_VAL)<<8)&0x0000FF00)
当我顺序读取数据的时候,一切都正确,但是当我写入数据的时候,数据不知道写哪里去了。比如写入008 58,结果实际不知道写哪个地址去了,008读出来还是原来的数据


最奇怪的是,在keil调试模式写入数据,写入的数据又全部正确,比如写入 在008 写入 58,实际写入以后读取出来也是 008 变成58了



主题

回复
发表于2017-09-14 20:43:40   |  显示全部楼层
6#
发表于2017-08-29 11:30:42  3# 已经确定是stm32本身的问题,就是不明白为什么PB0-7写入数据以后,再写PB8-15,PB0-7也变成了PB8-15...
定义的变量长度不够或是指针没有类型不对?

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部