您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> SPI模式设置求解
本帖共有692个阅读者
发表帖子 发表投票 回复主题
SPI模式设置求解
jszjj123(论坛新手)
jszjj123
头衔:社区公民
帮派:无帮无派
帖数:3
金钱:124
积分:4
注册时间:2012/11/30
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
SPI模式设置求解

*pSPI_CTL = 0x1001|CPHA| CPOL; //配置模式为手动片选模式

上面这句话为啥这么设置啊,CHPA和CPOL是CTL寄存器的位么?为啥这个语句还要用或0x1001运算?菜鸟实在是弄不明白,求高人解答


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/11/30 17:59:55
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

你用帮助文件找一个SPI_CTL的寄存器,CPHA和CPOL对应寄存器同名位,|CPHA| CPOL表示这两位写1。

0x1001对应的寄存器含义为 :SPI主模式,当传输buffer为空时进入中断。配置寄存器可以直接填入寄存器位名配置,2位的比较麻烦,可以宏定义一个自己能看懂的位名,也可以直接写入数据配置,只是可读性差一点。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/11/30 23:19:00
jszjj123(论坛新手)
jszjj123
头衔:社区公民
帮派:无帮无派
帖数:3
金钱:124
积分:4
注册时间:2012/11/30
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

为什么我直接编译咱们的例程会报错?CPHA和CPOL这两个寄存器在哪个头文件里面有定义?我在cdefbf533和bf532好像没找大这两个文件啊。还有PF0-PF15和FLG这些都没有在头文件里面找到。晕了


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/12/1 18:14:45
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

报错抓图贴上来。

你把调用的头文件里面又调用的头文件也找一下就找到了。或者用windows自带的文件内容搜索,把VDSP下的 include文件夹搜索一遍。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/12/2 11:27:23
jszjj123(论坛新手)
jszjj123
头衔:社区公民
帮派:无帮无派
帖数:3
金钱:124
积分:4
注册时间:2012/11/30
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
编译的问题解决了,原来是工程文件不能放在中文目录下面。头文件在cdefbf532里面。谢谢版主!牛人啊。

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/12/3 20:37:37
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159154 Call, 1 Queries, Processed in 0.015625 second(s),