OpenEdv-开源电子网

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

有没有一种方法把SPI芯片的寄存器映射到stm32内部作为存储器的方式操作?

[复制链接]

14

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-3-25
在线时间
24 小时
发表于 2018-10-23 14:21:58 | 显示全部楼层 |阅读模式
10金钱
像原子的液晶屏幕一样,以控制存储器的方式控制屏幕显示。我这个芯片是SPI接口的,但是芯片厂家的51单片机内部做了特殊处理,像读写存储器一样来操作SPI芯片。现在我想用STM32来控制SPI芯片,但是官方历程控制的是存储器。有没有一种方法把SPI的寄存器映射到stm32内部?

最佳答案

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

试了半天,还真没找到好办法 ENCODING = 0;这一句可定要换掉
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1472
金钱
1472
注册时间
2014-4-8
在线时间
172 小时
发表于 2018-10-23 14:21:59 | 显示全部楼层
1096113572 发表于 2018-10-23 15:46
这样做,是为了方便移植芯片官方自动生成的代码。这样的寄存器有几百个,所以需要程序自动完成映射。
官 ...

试了半天,还真没找到好办法

ENCODING = 0;这一句可定要换掉
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2018-10-23 14:29:35 | 显示全部楼层
没有.  各个芯片的寄存器不同, 没有一个规范, 从何支持.  你要支持某个特定规范, 就会产生出特定的功能, 比方讲SDIO.
回复

使用道具 举报

2

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1472
金钱
1472
注册时间
2014-4-8
在线时间
172 小时
发表于 2018-10-23 15:23:03 | 显示全部楼层
可通过驱动和宏定义,以及函数指针的方法,让操作“很像”读写存储器,但是出了看着不错,实际意义不大吧
回复

使用道具 举报

14

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-3-25
在线时间
24 小时
 楼主| 发表于 2018-10-23 15:46:57 | 显示全部楼层
本帖最后由 1096113572 于 2018-10-23 15:50 编辑
jackielau 发表于 2018-10-23 15:23
可通过驱动和宏定义,以及函数指针的方法,让操作“很像”读写存储器,但是出了看着不错,实际意义不大吧

这样做,是为了方便移植芯片官方自动生成的代码。这样的寄存器有几百个,所以需要程序自动完成映射。
官方代码如下:
# define SFRX(name, addr)       volatile unsigned char  name ;
SFRX(ENCODING,              0x4011)   /* Encoding */
ENCODING = 0;
如何通过SPI将“值0”写入地址为“0x4011寄存器”。先发送地址,后发送值即可写入,但是如何自动映射一下,批量写入呢?
回复

使用道具 举报

0

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
金钱
238
注册时间
2018-5-9
在线时间
164 小时
发表于 2018-10-23 16:18:49 | 显示全部楼层
没法映射,除非什么时候st提供ahb-spi的bridge ip。飞思卡尔倒有,flexspi就可以做到
回复

使用道具 举报

19

主题

169

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
409
金钱
409
注册时间
2018-4-21
在线时间
107 小时
发表于 2018-10-23 16:30:49 | 显示全部楼层
没法做到,st都没像FSMC那样预留了地址给你!
回复

使用道具 举报

14

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-3-25
在线时间
24 小时
 楼主| 发表于 2018-10-23 16:55:39 | 显示全部楼层
jackielau 发表于 2018-10-23 16:15
试了半天,还真没找到好办法

ENCODING = 0;这一句可定要换掉

好的,谢谢
回复

使用道具 举报

14

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2016-3-25
在线时间
24 小时
 楼主| 发表于 2018-10-23 16:56:37 | 显示全部楼层
感谢各位朋友热情帮助!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 10:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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