3125|0

6

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MSP430F5529LP+CC3000学习心得(一)——与AP的连接 [复制链接]

设备:MSP430F5529LP+CC3000 BoosterPack EVM

SDK:CC3000 SDK_V1.11 、android下smart Config APP

Patch:PatchProgrammerMSP430F5529LP-7.11.7.13.19

开发环境:CCS 5.4.0

第一步:硬件连接。

第二步:对F5529LP进行Patch programmer。

导入C:\ti\PatchProgrammerMSP430F5529LP-7.11.7.13.19\Patch Programmer Source\Patch Programmer CCS目录下的三个工程CC3000 SPi、CC3000HostDriver、Patcher Programmer。逐一对其进行build。然后将PatcherProgrammer 进行debug。reboot launchPad。

第三步:对SDK进行移植。(MSP430F5529和MSP430F5529LP开发板与CC3000对应的管脚有区别)

导入C:\ti\CC3000SDK\CC3000 SDK\MSP430F5529\Basic WiFi Application\Basic WiFi Source\Basic Wifi Application CCS目录下的四个工程Basic WiFI Application、CC3000 Hoster Driver、CC3000Spi、HyperTerminal Driver。将Board.h下的接口改成如下

  1. #ifndef BOARD_H
  2. #define BOARD_H
  3. // Pins from MSP430 connected to the RF Header
  4. #define SPI_IRQ_PIN BIT0
  5. #define WLAN_EN_PIN BIT5
  6. #define SPI_SIMO BIT0
  7. #define SPI_SOMI BIT1
  8. #define SPI_CLK BIT2
  9. #define RF_CS BIT2
  10. // Ports
  11. #define SPI_SEL P3SEL
  12. #define SPI_DIR P3DIR
  13. #define SPI_OUT P3OUT
  14. #define SPI_REN P3REN
  15. #define RF_CS_SEL P2SEL
  16. #define RF_CS_OUT P2OUT
  17. #define RF_CS_DIR P2DIR
  18. #define SPI_IRQ_DIR P2DIR
  19. #define SPI_IRQ_IN P2IN
  20. #define SPI_IRQ_IES P2IES
  21. #define SPI_IRQ_IE P2IE
  22. #define SPI_IFG_PORT P2IFG
  23. #define WLAN_EN_DIR P6DIR
  24. #define WLAN_EN_OUT P6OUT
复制代码

SPI.c文件下的修改如下:

  1. //*****************************************************************************
  2. //
  3. //! IntSpiGPIOHandler
  4. //!
  5. //! @param none
  6. //!
  7. //! @return none
  8. //!
  9. //! @brief GPIO A interrupt handler. When the external SSI WLAN device is
  10. //! ready to interact with Host CPU it generates an interrupt signal.
  11. //! After that Host CPU has registered this interrupt request
  12. //! it set the corresponding /CS in active state.
  13. //
  14. //*****************************************************************************
  15. #pragma vector=PORT2_VECTOR //需要修改为P2.0
  16. __interrupt void IntSpiGPIOHandler(void)
  17. {
  18. switch(__even_in_range(P2IV, P2IV_P2IFG0))
  19. {
  20. case P2IV_P2IFG0:
  21. if (sSpiInformation.ulSpiState == eSPI_STATE_POWERUP)
  22. {
  23. //This means IRQ line was low call a callback of HCI Layer to inform
  24. //on event
  25. sSpiInformation.ulSpiState = eSPI_STATE_INITIALIZED;
  26. }
  27. else if (sSpiInformation.ulSpiState == eSPI_STATE_IDLE)
  28. {
  29. sSpiInformation.ulSpiState = eSPI_STATE_READ_IRQ;
  30. /* IRQ line goes down - we are start reception */
  31. ASSERT_CS();
  32. // Wait for TX/RX Compete which will come as DMA interrupt
  33. SpiReadHeader();
  34. sSpiInformation.ulSpiState = eSPI_STATE_READ_EOT;
  35. SSIContReadOperation();
  36. }
  37. else if (sSpiInformation.ulSpiState == eSPI_STATE_WRITE_IRQ)
  38. {
  39. SpiWriteDataSynchronous(sSpiInformation.pTxPacket,
  40. sSpiInformation.usTxPacketLength);
  41. sSpiInformation.ulSpiState = eSPI_STATE_IDLE;
  42. DEASSERT_CS();
  43. }
  44. break;
  45. default:
  46. break;
  47. }
  48. }
复制代码

Spi.c如若没有修改,程序将一直停在:

  1. if (sSpiInformation.ulSpiState == eSPI_STATE_POWERUP)
  2. {
  3. while (sSpiInformation.ulSpiState != eSPI_STATE_INITIALIZED)
  4. ;
  5. }
复制代码

第四步:build 第三步中的四个工程之后,对Basic WIfI Application进行 debug。然后reboot LaunchPad。

第五步:对CC3000进行 smart config。打开串口调试助手。设置好参数9600,n,8,1。reboot LaunchPad, 串口显示Example App:driver version 6.13.7.13。

串口发送01,可看到LED1一直在闪烁。设置好smart config,点击Start ,如图:

smart config完成之后,串口收到smart config DONE, IP255.255.255.255。此处,IP明显错误。多次重启配置仍出现此错误。

本人猜测可能原因:1、无限路由器设置有问题时,导致CC3000自动获取IP有问题。因为使用手机连接上网时,也有时会出现获取IP失败的情况。2、CC3000SDK中的协议程序编写有问题。

解决方案:给CC3000配置静态IP。串口发送08+IP+网关,十六进行形式。例如IP:172.20.69.215,网关:172.20.69.1。则发送08ac1445d7ac144501。

串口回复DONE之后,reboot LaunchPad。将会出现Example App:driver version 6.13.7.13 IP:172.20.69.215

如图:

第六步:execute ping command. 如图:

It's OK

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表