1.1 前置条件 已经安装好CCS和tivaware软件包。 如果不满足,请参考前边的帖子,先准备好开发环境。
1.2 学习目标了解tivaware软件包中的基于EK-TM4C123GXL的例程。 tivaware软件包的例程太多了,我们这边讨论的 只是针对某个特定的板卡。
1.3 补充介绍tivaware_c_series-2.1.4.178的资源如下: 打开ccs / 菜单栏view / 第2行 resource explore classic, 可以看到tivaware软件包。 如果看不到,请参考前边的帖子。
可分为5个大块: - driverlib---外设驱动库,非常重要,一大堆的函数,后续要重点学习的;
- examples---例程,参考案例,帮助用户加快学习,可参考例程进行修改,目前只看EK-TM4C123GXL,共15个例程。
- Grlib—图形操作示例,用在人机交互上,提供图形操作的基础函数,例如画线/画圆等。
- Sensorlib–传感器操作示例,各种传感器的基本操作
- Usblib---usb操作函数示例。
1.4 例程汇总在tivaware的安装目录下,可以找到参考文档: C:\TI\TivaWare_C_Series-2.1.4.178\docs, 每个板卡或者软件包都有一个对应的文档!
与EK-TM4C123GXL相关的文档是: SW-EK-TM4C123GXL-UG-2.1.4.178.pdf 文档是英文的:D 下边简单介绍下这15个例程(顺序按照导入ccs时的排序,应该是字母吧) 学习的话,不一定按照这个顺序,优先重点关注下标注的例程。
1、 bitband
该例程演示了使用处理器的位带(bit-banding)功能,相当于直接改变某个比特位的值,可理解为“位操作”吧。
借助串口用于输出调试信息。
2、 blinky
控制板载的LED闪烁,展示GPIO口的基本操作。
3、 freertos_demo
在Launchpad上使用FreeRTOS操作系统。创建了两个任务,用户可以用过两个按键,分别改变LED闪烁的频率,还有LED的颜色。
另外,借助串口用于输出调试信息。
4、 gpio_jtag
处理器的引脚是复用的,包括JTAG引脚。这个例程展示了将特殊功能引脚JTAG引脚配置成GPIO,然后通过按键,再将其改变回来。了解配置过程,需要有一个解锁的操作。
借助串口用于输出调试信息。
5、 hello
非常经典的例程,“helloworld”,通过UART向上位机发送“HelloWorld!”。可以了解uart的配置和发送。其实,在其它例程中也已经涉及到了,借助uart接口输出调试信息。
6、 interrupts
该例程演示了Cortex-M4处理器中断相关的功能,例如中断抢占、中断尾链以及NVIC。 构造了相同优先级、不同优先级情况下,中断发生嵌套、抢占的情形。
借助UART作为调试串口输出信息,同时,还通过GPIO来指示中断状态,需要借助示波器或逻辑分析仪来观察。
7、 mpu_fault 该例程演示如何使用MPU来保护内存区域不被访问,以及在存在访问冲突时生成内存管理故障。
另外,借助串口用于输出调试信息。
8、 project0 算是工程模板,可以基于这个工程进行修改。示例本身演示了如何使用TivaWare设置时钟并切换GPIO引脚驱动LED闪烁。
9、 qs-rgb EK-TM4C123GXLLaunchPad出厂时烧写的程序。
板子上有个三色LED灯,可以通过两个按键控制灯的颜色变化,按左侧按键,色谱中往红色端变化;按右侧按键,往另外一端变化。
如果超过5秒没有动作,程序会自动更改显示的颜色。
同时按住左右两个按键3秒钟,进入休眠模式。在休眠期间,LED每间隔3秒会闪烁0.5秒。
另外,也可通过串口进行控制,需要输入指定的命令。
10、 timers 例程演示了定时器的使用。一共使用了两个定时器,其中一个每秒中断一次,另一个每秒中断两次;在中断处理中,将输出打印信息。
另外,借助串口用于输出调试信息。
11、 uart_echo uart操作中也是比较经典的例程,将上位机发送来的信息,发回给上位机。
12、 udma_demo 程序演示了使用uDMA在存储器之间传输数据,以及和UART外设之间的发送/接收数据。
另外,借助串口用于输出调试信息。
13、 usb_dev_bulk 例程演示了通用USB设备与主机之间的简单批量数据传输。 14、 usb_dev_gamepad 这个是比较有趣的应用,类似人机界面设备的游戏手柄,将评估板转换为USB游戏手柄。 15、 usb_dev_serial 连接到USB主机系统时,将评估套件转换为虚拟串行端口。
1.5 小结例程的程序仅供参考,并非最优的设计方案。仅向用户展示一些资源的基本配置方法。大家有时间可以根据例程描述,快速找到要做实验的例程,开始动手做实验啦~。
|