MSP430 LaunchPad制作的NRF24L01无线串口模块

今天终于调通了24L01的硬件SPI,留个纪念。先将遇到的问题写下了,首先是发现if(P1IN & BIT4==0)这句话竟然运行不了,这样写了之后发现下面的语句不能打断的,很是神奇,可是没有警告语错误。最后我将i=P1IN & BIT4,然后if(i==0)这样就可以了,好吧,寄存器不能拿来运算吗?还是什么原因不知道。还有一个蛋疼的事情即使板子的串口太容易坏了,我一共三块一下子坏了两个,另一个我都不敢用了,还是用专门的串口模块吧。别人送外号硬件杀手,我以前也是经常弄坏芯片。。。
还有就是弄好了模拟SPI后硬件SPI怎么都不通,最后我用模拟SPI,运行while(1){SPI_RW(0x55)};最后测得SCK的频率是214K,然后我将硬件SPI的频率调成256K这下好了,用Grace很方便,
上图是设置页面将频率设为256K,注意主频率也有对应,之后编译生成代码然后如下图
然后将代码复制,当然主要是频率的那个代码。这样就一切OK啦!然后附上链接图片与调试图片

 

 

网友1评论:一直没调出来,楼主可以给个模拟IO口的24l01驱动不?
24l01寄存器太多配置起来很不懂。

作者回复:将我那个#define SPI_HW注释掉就可以了呢,其实也很方便,我是将51单片机上的程序移植过来的看你需不需要。

我好像明白为什么开发板的自带串口我用起来容易坏了,原来最高支持9600,原文:
MSP-EXP430G2 LaunchPad features:
• USB debugging and programming interface featuring a driverless installation and application UART
    serial communication with up to 9600 Baud

 

网友2评论:P1IN & BIT4==0,因为==的优先级比&高,所以先执行BIT4==0(0),后执行P1IN&0
我跟楼主范了同样的错误。

网友3:博主的开发软件应该是CCS吧。

作者回复:恩,是的呢,感觉CCS比IAR要要用呢。

 

永不止步步 发表于10-09 10:32 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67417个|学分:374541个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号