单片机

//单片机

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

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

By | 2019-07-02T02:56:16+08:00 12 2 月, 2019|单片机, 学习笔记|0 Comments

单片机学习笔记之4——编码器转速的获取

最近的学校电赛初赛有一个自控小车的题目,其中的编码器读取转速还是费了我一些时间学习的,这里把编码器的初始化等代码以及main函数的测试代码加了一些注释放出来作为参考。 #include "encoder.h" void encoder_left_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; [...]

By | 2019-07-02T02:47:41+08:00 21 12 月, 2018|单片机, 学习笔记|0 Comments

单片机学习笔记之3——简单红外遥控小车

今天水了一个社团的小车比赛(真的是水了比赛,我只花了二十分钟左右弄出来了),做了一个非常简单的红外遥控小车(没错大部分代码还是用的库)。只能实现用遥控器控制前进后退,左转右转的功能,比较辣鸡,这里把代码放出来(稍微加了一点注释) 首先是遥控器部分的代码: #include "remote.h" #include "delay.h" #include "usart.h" ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它任何用途 [...]

By | 2019-07-02T02:45:12+08:00 2 12 月, 2018|单片机, 学习笔记|0 Comments

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

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

By | 2019-07-02T03:05:48+08:00 26 11 月, 2018|单片机, 学习笔记|0 Comments

单片机学习笔记之1——遥控器输入

自己写了一个通过遥控器输入数据输出pwm波的代码,代码的算法实现还是比较简单的,不过因为我的编码能力太差了,还是费了不少功夫的。在写这个代码的时候我深刻的体会到了用库的魅力(简称偷懒,而且在下一个代码里用库把我坑惨了),通过库省去了我很多的编码时间和学习时间(所以我学到的东西比较少,现在还是很菜)。现在把代码加了注释分享一下: //这是main函数的部分,比较简单,不做介绍了 #include "usart.h" #include "delay.h" #include "led.h" #include "sys.h" [...]

By | 2020-12-01T19:57:13+08:00 22 11 月, 2018|单片机, 学习笔记|0 Comments
召唤伊斯特瓦尔