MSP430+nrf2401代码,第一次好好的分析

画外音:Windows Live Writer客户端连不到csdn的服务端,只好网页写了。但是……搜狗输入法在chrome浏览器里面居然不能用搜狗输入法在bolg编辑框里面输入中文,看来只好下载Google输入法用了。看来离Google人更近一步了。

 

 

正事开始了。

 

 

看陌生代码还是source insight方便,而且刚开始用没多久,还处于蜜月期,总觉得这工具相当不错的啦。当然,Linux平台还是vim+ctags用起来爽。调用关系显示的很清楚,只是屏幕小了点,看着确实少了点,上网本,就将就点吧。

 

两个单片机,两个文件代码。第一件事就是找main函数。呃,main函数放在最后,跟个人习惯很不一样。

 

 

第一件事是杀狗,嗯嗯,以后一直要记得。

先禁止中断,然后把该初始化的初始化好,单片机才能好好工作么~

然后是端口和芯片的初始化,由于功能比较单一,只要三个初始化函数就好了。

 

然后是显示开机界面的显示,液晶屏显示还是很不错的

 

 

顺便设置了一下初始参数和键盘接口,下面就是设置无线接收模块的设置(根据函数名猜功能,毕竟第一步是把main函数看完)

 

IO接口设置好,无线模块模式设置好,再把接收的内存区设置好,然后开启中断。

啦啦啦,之后就开始等着另一片发数据过来处理。

 

 

 

类似消息循环模式,不过是死循环,看来要关机就只能直接断电了,反正小东西玩不坏,嘿嘿~

 

第二个发射模块的单片机程序就相对简单点,就是少了几行代码。具体的没跟踪进去看,看来两个功能的差距就在key_read()函数里面了。

 

 

 

 

main函数结束了,然后就是各个函数进去看了

 

先看看接收和发送这两个中断函数

 

 

 

 

 

#pragma这个不熟悉,呃……看来C语言没学好。

不写了,先到这里,明天慢慢看。

 

(key_read()函数怎么看怎么想重写,风格问题吧)

 

 

 

====================================================================

第二天了。。。

花了大力气把key_read()函数重写了一遍,个人感觉舒服多了,把大量的if-else改为switch,应该好理解多了。

顺便把变量key11改为keyCol,这个看起来就明白多了。

 

 

 

dealyus(uint)函数里面用了宏定义,不然键盘延迟太严重了,以后慢慢调试。

 

下面就看的是NRF2401的功能了,看看貌似没问题。嗯嗯略过

 

 

然后就是传感器端的温度和光照模块的调试,实际测试看来数据还是不对啊,赶紧改啦。

 

 

先发表了,没空在这边码字堆博客了,要调试的东西多着呢

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
经过实测可用 稳定性高 最小1个字节 最多31个字节 发送端发送几个数据 接收端就接收几个数据; 例如: 发送1个数据0x68 接收端就接收1个数据0x68 发送2个数据 0x66 0x88 接收端就接收2个数据 0x66 0x88 推荐使用STC下载软件自带的串口调试助手 因为这个串口调试助手既可以发送十六进制数据 也可以发送字符数据 这样 可以发送英文 #include<reg51 h> #include<intrins h> #define uchar unsigned char #define uint unsigned int NRF24L01寄存器操作命令 #define READ REG 0x00 读配置寄存器 低5位为寄存器地址 #define WRITE REG 0x20 写配置寄存器 低5位为寄存器地址 #define RD RX PLOAD 0x61 读RX有效数据 1 32字节 #define WR TX PLOAD 0xA0 写TX有效数据 1 32字节 #define FLUSH TX 0xE1 清除TX FIFO寄存器 发射模式下用 #define FLUSH RX 0xE2 清除RX FIFO寄存器 接收模式下用 #define REUSE TX PL 0xE3 重新使用上一包数据 CE为高 数据包被不断发送 #define NOP 0xFF 空操作 可以用来读状态寄存器 NRF24L01寄存器地址 #define CONFIG 0x00 配置寄存器地址 #define EN AA 0x01 使能自动应答功能 #define EN RXADDR 0x02 接收地址允许 #define SETUP AW 0x03 设置地址宽度 所有数据通道 #define SETUP RETR 0x04 建立自动重发 #define RF CH 0x05 RF通道">经过实测可用 稳定性高 最小1个字节 最多31个字节 发送端发送几个数据 接收端就接收几个数据; 例如: 发送1个数据0x68 接收端就接收1个数据0x68 发送2个数据 0x66 0x88 接收端就接收2个数据 0x66 0x88 推荐使用STC下载软 [更多]
Msp432和NRF2401是两种不同的嵌入式系统开发板。Msp432是德州仪器(TI)公司推出的一款高性能低功耗微控制器。它具有低功耗、高效能和强大的处理能力,适用于各种物联网和嵌入式应用。Msp432采用ARM Cortex-M4内核,可运行在48MHz的时钟频率下,具有256KB的Flash存储器和64KB的RAM。它支持多种通信接口,如SPI、I2C和UART,并提供了丰富的外设,如ADC、定时器和PWM输出等。 NRF2401是一款无线模块,采用射频技术实现无线通信。它由Nordic Semiconductor公司生产,主要用于低功耗应用的无线传输。NRF2401支持2.4GHz频段,具有高速率和可调整的输出功率。它可以通过SPI接口与微控制器通信,并具有多通道和多设备支持,方便实现多点通信。NRF2401还支持自动应答和自动重传功能,提高了数据传输的可靠性。 Msp432和NRF2401在应用上有很大的差异。Msp432是一款微控制器,适用于各种物联网和嵌入式应用。它具有较高的处理能力和丰富的外设,可满足各种复杂的应用需求。而NRF2401则是一种无线模块,用于实现无线通信。它适用于低功耗应用,并具有快速的数据传输速率和可靠的数据传输功能。 在具体的应用中,Msp432可作为主控制器来控制和管理整个系统,而NRF2401可作为无线通信模块来实现与其他设备的无线数据传输。通过Msp432和NRF2401的配合,可以构建出一个功能强大且稳定可靠的物联网或嵌入式系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值