完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本帖最后由 3guo*****ang7 于 2016-5-17 21:25 编辑 到目前为止,小狂的前边几篇帖子应该是把开发工具都说的差不多了,CCS工程的导入,编译,调试,依赖,也都讲了,以后的帖子就不讲这些东西了,有需要的就翻看前边的帖子,以后就应该注重理论的讲解,和代码的解析了。这一篇应该是在STA前面的,不知道为啥写着写着就放到后边了,后边就后边吧,一样的。所以这篇帖子的理论可以去前边的STA文章里找。这篇帖子还会涉及一个软件Pinmux的使用。慢慢来。由于最近小狂临近毕业,所以更新的速度会有所降低,也请各位看官多多体谅。另外,前几篇文章的点击率不少,回复率很低呀,小狂也不知道自己写的如何,有何改进的地方,哈哈,所以,来了就留下点印记,不要做无名英雄。哈哈闲话少说直接上正题 一、Pinmux的使用 这也是仅剩的一个工具了,也没有什么难理解的地方,非常方便,当然喜欢配置寄存器的童鞋不用,自己配置也是可以的,ti提供这种方式,也是为了让小白更快上手罢了,另外对于快速开发来说不愧是一个好办法。 打开软件,进去选择正确的元件类型
整个的界面如下图所示
逐个解释 1、CC3200所有的内部硬件资源,点击添加按钮后,就可以实现相应的功能 2、每个模块会有很多相应的引脚,所以点击完添加之后就可以选择配置相应的引脚。 3、生成的所有文件。 4、这个是你cc3200所有的引脚图,如果使用了会显示成绿色,否则会是灰色,这个在产品引脚定义的时候很有作用。 现在我们就配置出来例程中的pinmux.c和pinmux.h文件。 首先配置出来串口的,然后分别配置出来3个LED灯的。 串口的配置
GPIO的配置
这里是使用引脚的情况
可以看到都非常的清晰。 然后把所有的文件都保存下来,然后导入到你的工程里就行了。
这里想说一下这两个文件的区别,本质上是没有任何区别的,实际上就是rom_pin_mux_config.c在pin_mux_config.c的基础上加了前缀,有做了一次封装而已,所以用哪个都一样,只要把这个文件替换掉,就算更新了,是不是很方便,哈哈。 二、效果展示 其实,历程中给的功能很简单,就是输入一个SSID,然后cc3200创建一个wifi,我们用设备连接上之后,会拿到一个IP地址,然后CC3200会ping我们的这个ip地址,打印相应的信息。 2.1 编译工程 先把历程导入到工程中,如果经历过station模式之后就不用编译其他库了,如果没有做station那一贴所讲的内容的话,就先做那个,这个就非常简单了,具体的小狂就不多说了。 编译了之后,下载到板子上,然后直接看效果。 2.2 现象 程序运行之后会首先让你提示输入你要建立的wifi名称如下图所示
我就输个xiaokuang play cc3200 最大的长度应该是32,输入换行符结束。 建立完成后,会出现如下提示,提醒等待设备连接
然后我们让手机连上设备,这个时候是没有密码的,能够直接连接
连接完成后,串口会打印如下信息
证明测试成功。下节我们就具体分析分析,这个AP程序。 三、代码分析 3.1 工作分析
盗用一下TI的图,这个是TI example doc中的图片,很简单明了,就是说明,我们的AP模式就是这个机制,先连接,然后再次ping设备。 上个工作流程,CC3200的网络初始化跟上节的内容基本一致
这个流程应该很能说明问题了,一点点画出来的,跟上节的流程图没有多大差别,就是改了simplink之后的内容。由此可见AP模式,和STA模式其实配置都是一样的,哈哈。 3.2 函数分析 因为其他函数我们上一篇帖子已经见过,所以这一篇帖子,我们就只分析AP模式的配置内容。 3.2.1 ConfigureMode 只要调用simplink中的库,就要首先调用sl_start函数,否则,simplink所有的功能都不好用。 Configuremode其实就是用来配置AP模式的,首先看调用
1、这个是调用配置当前模式,返回当前模式 2、如果返回不是ROLE_AP,打印提示信息 3、停止simplink功能 4、进入死循环。
1、等待输入AP的SSID名称 GetSsidName,这个函数就是用来获取用户输入的数据的,没有采用中断模式,而是轮询模式,这个函数的核心在于GetCmd中,我们就重点分析这个函数。有两个参数,第一个是获取的数据存入的地址,第二个是最大的长度。
(1)UARTCharsAvail 这个函数是用来判断是否UART fifo中是否有数据,如果没有,就释放CPU控制权,挂起任务1ms。 (2)UARTCharGetNonBlocking无阻塞的获取fifo中的数据,一回只获取一个字节。 (3)MAP_UARTCharPut把接收的的数据打印到串口上。 (4)判断当前的接收数据的长度是否大于输入的最大长度。如果是返回错误信息 (5)如果当前的字符不是退格符‘b’,就把数据存入传入的地址上,否则,就减一个字节长度。 (6)同(1)(2)(3)。 (7)接收完成后给最后一个字节赋值结束符。返回接收到的数据。 2、sl_WlanSetMode 设置当前模式为AP模式,并返回错误值。如果返回值小于0就打印错误信息 3、sl_WlanSet 配置WLAN信息,这个函数的功能可就多了去了,这里小狂就讲解用的东西,如果要是想知道其他的功能利用函数的goto功能查找到函数定义讲的很详细。 SL_WLAN_CFG_AP_ID:配置wlan的ap信息 WLAN_AP_OPT_SSID:设置ap的ssid信息,当然也可以是使用这个函数用来设置加密方式,和密码,具体看函数说明。 strlen(pcSsidName):ssid名字的长度。 (unsignedchar*)pcSsidName:ssid的名称。 4、5 重新启动simplink,并且清除所有的状态标志位。
1、等待设配IP分配完成 2、SlNetCfgIpV4Args_t 用于存放各种网络信息,具体参考说明手册。 3、sl_NetCfgGet 获取当前的网络信息,并且存放到SlNetCfgIpV4Args中去,SL_IPV4_AP_P2P_GO_GET_INFO。这个是获取AP自身的ip地址 4、等待设备连接 5、ping连接的设备 6、设备重新转换为STA模式。 到这里基本上所有的内容已经分析完毕但是还有些东西没有说,这里大家可能会好奇,这其中会有很多的等待状态位置位的东西,这些状态位都是在哪置位呢,当然是在回调函数中啊。 这里
wlan连接的回调函数
ip分配的回调函数,这两个函数就类似与中断函数,当断开连接事件发生后就会进入SimpleLinkWlanEventHandler函数。另外分配ip的时候就会进入SimpleLinkNetAppEventHandler函数,基本上所有的状态位都会在其中置位。 四、结语 这回真是结束了,没写一次帖子都耗费大量心血,所以各位童鞋,给个支持吧,小狂什么都不要,只要留言,好的留言,哈哈,这样能促使大家一起进步,还能让小狂有极大的成就感,更有动力写下去,是不是,哈哈,谢谢支持,再次谢谢,哈哈。下一篇帖子会将mdns,多路广播机制,期待一下ing……。 其他跟着小狂玩CC3200系列请移步如下连接 |
|
相关推荐
15 个讨论
|
|
|
|
|
|
|
|
|
|
|
|
楼主厉害
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
请问楼主为啥我设置为加密方式和输入密码但是密码不是我设置的,password我已经设置为0123456,但是输入密码时密码错误
lRetVal = sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_SECURITY_TYPE, 1, (_u8 *)&val); memset(str, 0, 65); memcpy(str, (unsigned char*)password, len); sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_PASSWORD, 7, (_u8 *)str); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1757浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:16 , Processed in 1.233184 second(s), Total 96, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
24339