历史上的今天
今天是:2025年02月13日(星期四)
2020年02月13日 | MSP430F5529LP+CC3000学习心得(一)——与AP的连接
2020-02-13 来源:eefocus
设备: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:tiPatchProgrammerMSP430F5529LP-7.11.7.13.19Patch Programmer SourcePatch Programmer CCS目录下的三个工程CC3000 SPi、CC3000HostDriver、Patcher Programmer。逐一对其进行build。然后将PatcherProgrammer 进行debug。reboot launchPad。
第三步:对SDK进行移植。(MSP430F5529和MSP430F5529LP开发板与CC3000对应的管脚有区别)
导入C:tiCC3000SDKCC3000 SDKMSP430F5529Basic WiFi ApplicationBasic WiFi SourceBasic Wifi Application CCS目录下的四个工程Basic WiFI Application、CC3000 Hoster Driver、CC3000Spi、HyperTerminal Driver。将Board.h下的接口改成如下
#ifndef BOARD_H
#define BOARD_H
// Pins from MSP430 connected to the RF Header
#define SPI_IRQ_PIN BIT0
#define WLAN_EN_PIN BIT5
#define SPI_SIMO BIT0
#define SPI_SOMI BIT1
#define SPI_CLK BIT2
#define RF_CS BIT2
// Ports
#define SPI_SEL P3SEL
#define SPI_DIR P3DIR
#define SPI_OUT P3OUT
#define SPI_REN P3REN
#define RF_CS_SEL P2SEL
#define RF_CS_OUT P2OUT
#define RF_CS_DIR P2DIR
#define SPI_IRQ_DIR P2DIR
#define SPI_IRQ_IN P2IN
#define SPI_IRQ_IES P2IES
#define SPI_IRQ_IE P2IE
#define SPI_IFG_PORT P2IFG
#define WLAN_EN_DIR P6DIR
#define WLAN_EN_OUT P6OUT
SPI.c文件下的修改如下:
//*****************************************************************************
//
//! IntSpiGPIOHandler
//!
//! @param none
//!
//! @return none
//!
//! @brief GPIO A interrupt handler. When the external SSI WLAN device is
//! ready to interact with Host CPU it generates an interrupt signal.
//! After that Host CPU has registered this interrupt request
//! it set the corresponding /CS in active state.
//
//*****************************************************************************
#pragma vector=PORT2_VECTOR //需要修改为P2.0
__interrupt void IntSpiGPIOHandler(void)
{
switch(__even_in_range(P2IV, P2IV_P2IFG0))
{
case P2IV_P2IFG0:
if (sSpiInformation.ulSpiState == eSPI_STATE_POWERUP)
{
//This means IRQ line was low call a callback of HCI Layer to inform
//on event
sSpiInformation.ulSpiState = eSPI_STATE_INITIALIZED;
}
else if (sSpiInformation.ulSpiState == eSPI_STATE_IDLE)
{
sSpiInformation.ulSpiState = eSPI_STATE_READ_IRQ;
/* IRQ line goes down - we are start reception */
ASSERT_CS();
// Wait for TX/RX Compete which will come as DMA interrupt
SpiReadHeader();
sSpiInformation.ulSpiState = eSPI_STATE_READ_EOT;
SSIContReadOperation();
}
else if (sSpiInformation.ulSpiState == eSPI_STATE_WRITE_IRQ)
{
SpiWriteDataSynchronous(sSpiInformation.pTxPacket,
sSpiInformation.usTxPacketLength);
sSpiInformation.ulSpiState = eSPI_STATE_IDLE;
DEASSERT_CS();
}
break;
default:
break;
}
}
Spi.c如若没有修改,程序将一直停在:
if (sSpiInformation.ulSpiState == eSPI_STATE_POWERUP)
{
while (sSpiInformation.ulSpiState != eSPI_STATE_INITIALIZED)
;
}
第四步: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
史海拾趣
|
Phasma is a hexapedal running robot that can run dynamically like a living organism. It is an attempt to depict life purely through its motion rather than its shape, by extracting the physics of running from living things and impl ...… 查看全部问答> |
|
LM3S8962+ucos-ii+lwip+snmp移植问题 大家好!有谁移植过lwip下自带的SNMP的?我按照lwip中doc下的文档移植,移植后,访问系统内部标量或者设置都没有问题即(system.sysDecr...),但是无法获取表(ifTable)的数据,点击ifTable表的获取后,无响应,似乎getnextrequest操作有问题? 仿 ...… 查看全部问答> |
|
Wince 6.0导出SDK成功,新建应用程序却找不到该SDK。 我使用的TQ2440定制WINCE6.0,镜像生成成功,导出SDK都是没有问题,我没有添加MFC的支持,安装SDK也没有问题, 但是在新建的工程里面却找不到,只有一个PLATFORM BUILDER(_TGTCPU),如下图: 后来我发现在OS Design 里面的配置管理器也是这样的 ...… 查看全部问答> |
|
请教WINCE下声卡给上层操作系统调用的调声音的接口在哪里? 请教各位, 我的平台是PXA270 声音驱动用的是AC97 现在想通过导航按键复用来调节声音 即,当媒体播放器弹出来时,导航键变成声音调节键 请问: WINCE下声音驱动中调节声音大小的部分在哪里? 是否是导出一个API供上层操作系统调用?? … 查看全部问答> |
|
HWREG(X);仅有读操作,那 #define RCGC2 (SYSCTL_BASE+0x108); HWREG(RCGC2)|=0x00000002; 能否进行将硬件地址内容修改呢?… 查看全部问答> |
|
借路,谢谢!本人长期从事数字电视及多媒体软件开发,对uClinux,linux系统的内核改造,驱动编写,应用程序等,有精炼的设计开发经验 本人长期从事数字电视及多媒体软件开发,对uClinux,linux系统的内核改造,驱动编写,应用程序等,有精炼的设计开发经验,现有如下服 务业务: 1.嵌入式系统的驱动程序编写。 2.linux系统类内核裁减改造等。 3.媒体类关于图片,电影, ...… 查看全部问答> |




