TI论坛
直播中

罗莹

7年用户 160经验值
私信 关注

请问CC3000在wlan_start(0)函数中出不来这是为什么?应该怎么解决?

本帖最后由 一只耳朵怪 于 2018-6-6 14:32 编辑

出不来的原因是hci_event_handler(pRetParams, 0, 0);这个函数死循环,也就是tSLInformation.usEventOrDataReceived = 0;推到前面也就是IRQ中断除了第一次中断进去后面就没中断,在推到前面就是SpiFirstWrite(pUserBuffer, usLength);函数写数据有问题。于是我就用示波器去测波形(让STM32一直给CC3000写,这样可以测SPI的波形)while(1)   [SpiFirstWrite(pUserBuffer, usLength);],如果屏蔽这个函数   tSLInformation.WriteWlanPin( WLAN_ENABLE );也就是不使能wlan时,测出波形是正常的(从图形中可以看出数据和时钟对应的数据是:前四个为01、00、05、00;后六个为00、01、64、01、00);
   

SPI:采用stm32的SPI3,频率为9MHz,输出口为复用推挽输出。

回帖(4)

张飞雄

2018-6-6 06:31:02
如果正常启动,不是你测试这样一直写的时候,电压是可以的吗?在spifirstwrite后,中断线上能看到中断回来吗,我也是指正常启动的时候。
能否也调一下在spifirstwrite里面的延时试试看。



                                                                         如果有答案已经回答了您的问题,请标注为已回答。
Please close your question if it has been solved. 
------------------------------------------------------------------
举报

罗莹

2018-6-6 06:40:27
引用: 一个黄人 发表于 2018-6-6 06:31
如果正常启动,不是你测试这样一直写的时候,电压是可以的吗?在spifirstwrite后,中断线上能看到中断回来吗,我也是指正常启动的时候。
能否也调一下在spifirstwrite里面的延时试试看。

正常启动不了,如果不一直写的话,我用示波器测波形测不到,因为spifirstwrite只写一次,闪一下就没了。在正常让它启动时,在spifirstwrite后,中断线上没有看到中断回来。在spifirstwrite里面的延时 这个已试过,延时60us左右和120us左右,都不行。
举报

马健

2018-6-6 06:48:54
引用: zllmc007 发表于 2018-6-6 06:40
正常启动不了,如果不一直写的话,我用示波器测波形测不到,因为spifirstwrite只写一次,闪一下就没了。在正常让它启动时,在spifirstwrite后,中断线上没有看到中断回来。在spifirstwrite里面的延时 这个已试过,延时60us左右和120us左右,都不行。 ...

我移植到STM32F103也出现同样问题,请问你解决了吗?可能告诉我吗?
举报

罗莹

2018-6-6 06:54:56
引用: qqweqwc 发表于 2018-6-6 06:48
我移植到STM32F103也出现同样问题,请问你解决了吗?可能告诉我吗?

我的这个问题是解决了,但是整体的还没调试好。。我的问题是TI手册上所说的SPI输出口和输入口的说明是相反的。如果你的波形和我一样那么你把输出和输入相调换。。有问题咱们再讨论。可以加好友联系!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分