完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本帖最后由 3guoyangyang7 于 2016-10-18 22:19 编辑 最近写的几篇文章反馈比较少,看来大家最近的热度不高啊,都被ESP32吸去了眼球,小狂写的那个叫相当没劲啊,不过没有关系,我相信肯定有小伙伴会用到这个东西的,所以,小狂会慢慢的、耐心的把所有关于CC3200的相关文章写完的,从这篇开始,可能就会wifi跟M4外设交替来写,因为M4的外设简单点,中间可以不那么累,真心写一篇帖子特别累,小狂的风格一直都是要么不发,发就只发精品,精品的代价也就是耗时,所以特别希望看过的小伙伴们留下足迹,满足小小的成就感,让我觉得有用。 一、简单介绍 这里作为CC3200 M4核的第一篇,就简单介绍一下,CC3200是一个双核的芯片,想必大家都已经知道了,网络部分我们也在前面介绍了一部分,这里直接就介绍M4的东西,首先上个外设图
M4的核工作在80Mhz,说实话,这个频率也就跟M3差不多,里边有256KB的RAM,不过这个RAM是和网络部分共享的,所以,实际可以使用的也就210多点。没有内置的flash,只能使用外部的SPI flash,我感觉这个不稀奇,为了降低价格,大部分的iot芯片用的都是外置Flash,最大应该可以支持到128Mb吧,参考的芯片如下图所示
只有27个多余的IO,所以这个东西,我感觉也就做一个从机,要是想做主机的话,对功能不太多的应用,一般也没啥问题,ti比较人性化的是给出了最佳的IO匹配组合供用户参考,贴出如下,当时小狂算计了一下,用他给的应该算是最优解了,就看符不符合应用了。
好了介绍就介绍到这了,直接进入我们今天的正题,使用GPIO。 二、GPIO使用指南 一句话怎么说来着,软件工程师学习一门新的语言第一个程序是“Hello world”,那一个数字电路工程师的使用一块板子的第一个应用是让一个灯闪烁,其实说的也就是IO的应用,一块芯片中最多的资源肯定就是IO。所以重中之重也就是IO的使用。 CC3200,总共有4组IO(Port0,Port1,Port2,Port3),共计32个输入输出IO,但是除去下载接口,SOP模式选择,以及天线这些固定的引脚,可用的也就只有27个。 接下来我们主要实现IO的电平翻转,输入,输出,这几个功能,使用库函数来实现,就不说寄存器了,太麻烦,如果有兴趣的小伙伴可以参考《CC3200 Technical Reference Manual》里边有你想要的一切,我们用库函数,主要参考《CC3200 Peripheral Driver Library User's Guide》 1、引脚配置 众所周知,对于有复用的芯片来说,引脚在使用前必须要配置一下,在第一节小狂就已经把怎么配置引脚这一块说明了,采用更方便的工具
代码如下图所示 在做之前,我们先分析一下IO的结构,先看一下GPIO的寄存器基地址。 由上图可以看到我们的GPIO分为4个组,但是在引脚名称里,却不是这么分的,都是按照下面的形式来的。 也就是说从GPIO0-GPIO31,具体的就是0-7是A0,8-15是A1,16-23是A2,24-31是A3,一开始上来可能都有点蒙,一开始我都被这玩意整迷糊了,哎,没办法。 我们要做的第一件事,就是通过输入的IO引脚号,获得是第几组的第几个IO以便用来控制。实现的代码如下图所示 这个函数的主要作用就是通过输入的引脚号,返回时第几组的,第几个IO,第一句话就是用每一位代表相应的引脚号。其中 下面的函数用来实现IO的输出 这段程序我感觉不用我解释,大家也知道都是什么意思了,说多了,就显得啰嗦了,哈哈。 小狂自认为这个实现的不好,但是懒得去改了,就这么用了,其实一句话就能完事的。 到此,这篇文章就到此结束了,由于GPIO很简单,这篇帖子主要说了M4的事,程序没怎么分析,因为我个人感觉,这些东西都是最基本的东西,稍微有点基础的都能看懂,就不详细分析了,如果有任何不明白的,可以留言,我看到的话,会第一时间回复的。下一篇UART。希望大家多多捧场,多多支持,哈哈。 |
|
相关推荐
15 个讨论
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sfesdmmm 发表于 2017-4-1 16:50 这么跟你说吧,对于初学者来说,东西写的越简单越好,并不需要考虑那么多,能说明问题就行,但是对于工程和项目来说,要考虑到封装,后期的修改难度,一般我做项目都会把函数写成类的形式,但是那样你根本就找不到我函数的根在哪,更难理解,所以可能我理解有错,望见谅 |
|
|
|
|
|
|
|
morniglory 发表于 2017-12-26 17:48 官网,官网,官网,官网上什么资料都有,认真找一找就行 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1756浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:35 , Processed in 0.872459 second(s), Total 68, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
24335