单片机

/标签:单片机

单片机学习笔记之4——新的单片机:TM4

由于我参加了自控方向的电赛,而我们省的电赛又是由Ti公司赞助的,所以在比赛是使用Ti公司的单片机会有得分加成,这就使得我需要重新再学习一种新的单片机,虽然刚开始的时候内心是拒绝的,但是后来当接触到了Ti之后,发现这个公司的IDE以及库函数比我原来开发stm32的那一套工具好用多了,于是也渐渐开始能接受学习tm4这块板子了。 这是TI公司的 CCS8 IDE,感受一下这风格 在寒假期间,我把tm4的基础使用学习的差不多了,同时也自己构建了一些以我自己的代码风格为标准的tm4驱动库,这篇博文的主要目的也就是分享一下我自己写的这些库函数。排序比较随意,将就着看看吧…… 代码使用的开发板型号:TM4C123GTX单片机型号:TM4C123GH6PM 特别提示:由于不同种类的开发板及芯片型号的区别,请在移植时确保读懂代码,并确认代码与自己的库函数的兼容性,并根据需要修改端口配置等。如果不兼容的话,可能需要使用自己版本的库函数替换代码中的库函数,这一块请自行配置吧,应该不会太难的~此外,有部分中断初测采用的是在中断向量表中注册的方式,所以并没有动态注册的代码,还请留意。 1.ADS模块 ADS模块,即数模转换模块,这个模块可以把电压信号转换为PWM波来供单片机读取,这个模块通常会与其他传感器连接,用于获取传感器的数值。我提供的这个ADS驱动库包含了单通道电压的读取。 //ads.h [...]

发布者 | 2019-07-02T02:56:16+08:00 2月 12th, 2019|单片机, 学习笔记|0条评论

单片机学习笔记之2——通过输入捕获实现对pwm波的测量

之前学校比赛的时候要求我们测量pwm波的频率和占空比,于是我就用了输入捕获来实现这一功能。 但是我在使用库函数写程序的时候不知道为什么每次捕获都只能捕获到一次上升沿和下降沿,无法捕获第二个上升沿。也就是只能捕获到一次高电平的时间而无法捕获到整个周期的时间,后来我在尝试使用寄存器编写的时候发现竟然完全没有出现这个问题,原因不明,推测是库函数在编写时加入了过多限制或者部分代码有问题。下面给出我的寄存器版本的初始化,调用结果的函数以及计时器中断服务函数。 //首先就是对于时钟和对应I/O口的初始化 //这部分如果需要换I/O口的话需要自己重新配置时钟和通道以及对应I/O口 //不过对着手册修改起来也不是很麻烦,只是要仔细一点不要漏掉什么就行了。 TIM_ICInitTypeDef TIM5_ICInitStructure; //定时器5通道1输入捕获配置 //arr:自动重装值(TIM2,TIM5是32位的!!) //psc:时钟预分频数 [...]

发布者 | 2019-07-02T03:05:48+08:00 11月 26th, 2018|单片机, 学习笔记|0条评论
召唤伊斯特瓦尔