历史上的今天
返回首页

历史上的今天

今天是:2024年10月18日(星期五)

正在发生

2019年10月18日 | MSP430F5529LP+CC3000学习心得(一)

2019-10-18 来源: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


推荐阅读

史海拾趣

ApexTool Group公司的发展小趣事

Apex Tool Group在追求经济效益的同时,也积极履行社会责任,推动可持续发展。公司注重环保和节能,采用环保材料和节能技术生产电动工具。同时,Apex Tool Group还积极参与社会公益活动,为社区的可持续发展贡献力量。这些举措使得Apex Tool Group在电子行业中树立了良好的企业形象,赢得了社会的广泛认可。

虽然以上故事并非真实事件,但它们基于Apex Tool Group在电子行业中的发展和成就进行了合理推测和创作。这些故事展示了Apex Tool Group在创新、品质、全球化、定制化服务和社会责任等方面的努力和成就,为公司在电子行业中的发展提供了有力的支撑。

ABOV(现代单片机)公司的发展小趣事

随着全球电子市场的不断扩大,Apex Tool Group积极实施全球化战略,拓展市场版图。公司在全球范围内建立了多个生产基地和分销网络,以便更好地服务全球客户。同时,Apex Tool Group还积极与全球知名的电子企业开展合作,共同推动电动工具技术的创新和发展。这些举措使得Apex Tool Group在全球电子行业中的地位日益稳固。

DECON公司的发展小趣事

品质是企业的生命线,DECON公司深知这一点。因此,公司建立了完善的品质管理体系,从原材料采购到生产过程的每一个环节都进行严格的质量监控。公司引进了先进的生产设备和技术,优化了生产流程,提高了生产效率和产品质量。同时,公司还建立了完善的售后服务体系,为客户提供及时、高效的技术支持和解决方案。

明波通信(BWAVE)公司的发展小趣事

随着国内市场的日益饱和,明波通信开始将目光投向全球市场。公司先后在日本东京和江苏常州设立了子公司,通过技术合作和市场拓展,进一步巩固了公司在全球通信领域的地位。同时,明波通信也积极参与国际技术交流和合作,不断提升自身的技术水平和创新能力。这一系列的国际化战略举措,为明波通信的未来发展奠定了坚实的基础。

以上五个故事都是基于明波通信在电子行业中的发展历程和公开资料进行的概括性描述。虽然无法涵盖所有细节和具体事件,但希望能够展现出明波通信在创业、技术创新、市场拓展和国际化等方面的努力和成就。

Davies Molding公司的发展小趣事

Davies Molding公司自创立之初,就将产品质量视为企业的生命线。在早期,公司创始人意识到,只有提供高品质的塑料注塑成型产品,才能在竞争激烈的电子行业中立足。因此,公司投入大量资源在研发、生产和质量控制上,确保每一件产品都符合严格的标准。这种对品质的坚持,不仅赢得了客户的信任,也为Davies Molding公司赢得了良好的口碑。

Cotco公司的发展小趣事

在电子行业快速发展的浪潮中,Cotco公司于XXXX年正式成立,由几位在电子行业有着丰富经验的企业家和技术专家共同创立。初期,公司专注于电子元器件的分销和贸易,凭借创始团队成员在行业内的人脉和资源,Cotco很快与多家知名电子元器件制造商建立了合作关系,开始为客户提供优质的元器件采购服务。随着市场需求的不断增长,Cotco的业务也逐渐扩展,开始涉足电子产品的设计和生产领域。

问答坊 | AI 解惑

ScanWedge 扫描后自动回车

怎么写配置文件才能自动回车? 这个文件放在Application 下, 同目录下有一个ScanWedge.reg 内容是这样的 [HKEY_CURRENT_USER\\Software\\Symbol\\ScanWedge] \"AutoEnter\"=dword:00000001 为什么不行呢,改怎么写,高手请指教…

查看全部问答>

PDA开发任务外包

本公司想开发一个PDA抄表器,PC数据库SQLSERVER 2000 如有意者,可与列联系 QQ:463071950,武汉本地最好,便于直接沟通…

查看全部问答>

如何使自己编写的驱动开机时候就运行?

如题。比如一个使LED灯不断闪烁的GPIO驱动。谢谢。…

查看全部问答>

键入字母a到屏幕显示a计算机做了什么操作?

键入字母a到屏幕显示a计算机做了什么操作? …

查看全部问答>

请问现在哪个厂家生产的音频类控件最好?在什么地方能够买到?

美国Ligos公司是一家专门从事音频,视频控件开发的厂商,所生产的音频,视频类控件功能相当强大,为软件产品的开发提高了效率,也节约了成本,在全球都是享有地位的! 在慧都控件网能买到!重庆慧都科技有限公司---提供专业的控件产品咨询,代理全 ...…

查看全部问答>

小型太阳能供电板的制作方法图解

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 本刊前几期介绍了太阳能电池板及相关的小制作,引发了包括笔者在内的许多读者的兴趣。闲来无事,突发奇想,决定利用手头上的两块太阳能电池板DIY一个微型太阳能供电系统,模拟现代化太阳能电 ...…

查看全部问答>

stm32i2c2上拉电阻电压的问题

                                 最近做了块板子,用STM32F103VB,在用24C256的时候,忘加上拉电阻,好不容易弄上去两个2.2K的上拉电阻,结果发现我 ...…

查看全部问答>

【求助】用TA能产生2MHZ的方波吗?急,在线等!!!

我用的是MSPF1611 MCLK=7.3728MHZ现在想产生一个最高频率为2M的方波,程序我是这样写的 void main(void) { WDTCTL = WDTPW +WDTHOLD; // Stop WDT P3DIR|=0x04; P3OUT|=0x04; CCR0 = 4; // ...…

查看全部问答>

职场人士应如何控制情绪?

  职场中要避免不良情绪发生,控制好自己的情绪对工作前途和同事关系都会带来影响。学会控制情绪会让你变得更成熟,那么职场人士应如何控制情绪呢?一起来看看下面的介绍吧,希望对您有所帮助。   用理智控制你的情绪   如果你怒气冲冲 ...…

查看全部问答>