掌握C语言之后,接着就是去 驱动一些常用模块
逐飞已经出了简单的视频,你需要看懂他在干什么。
基本上所有模块的使用过程都是 先初始化,然后调用相关函数,循环执行。
【逐飞科技】STC8G2K 核心板与智能车常用模块搭配使用视频教程_哔哩哔哩_bilibili
看完视频,就可以打开逐飞的库,里面有一些例程,首先把红色的这些例程要看懂,尝试执行一遍,然后自己写代码,执行出逐飞视频里的效果。
文件夹名称 | 中文命名称 | 简介 |
1-LED Blink Demo | LED闪灯 | P5.2作为LED的输入,当P5.2为低电平时,LED亮 |
2-GPIO Input Demo | GPIO输入例程 | 将P04连接GND,可以看到LED 灭掉 |
3-EXTI Demo | 外部中断 | 边沿触发INT0_P32中断LED 就会被点亮 |
4-PIT Timer Interrupt Demo | 周期中断例程 | 1秒钟LED翻转一次 |
5-ADC Demo | ADC输入例程 | 使用在线调试可以查看ADC数值 |
6-PWM Demo | PWM例程 | 脉宽调制 |
7-Decode Demo | 编码器解码 | 使用带方向的编码器,解码 |
8-UART Demo | 串口例程 | 串口输出0X1E |
9-Printf Demo | printf例程 | printf重定向,输入字符串 |
10-Specifies_Variable_Or_Code_Location_Demo | 变量存放区域例程 | 里面讲解了RAM和FLAH的大小和分布 |
11-EEPROM Demo | EEPROM例程 | EEPROM读写操作 |
Libraries | STC8H8K64U库 | STC8H8K64U开源库 |
下面我简单讲一下每个模块的作用,有一个简单的了解,具体深层次的内容,在CSDN上搜就行了。
高低电平 0/1
在LED和GPIO例程里,给LED=0,LED=1,实际就是对应引脚进行了高低电平的转换,
引脚(例程是P52)与GND 之间的电势差就从0变为3.3v(或5v)导致LED亮灭。
智能车入门——I/O、PWM
PWM
pwm脉宽调制,实际上就是一个比例问题,
假设最大占空比DUTYmax=10000,如果给占空比duty=5000,
则引脚与GND的电势差=(5000÷10000)×5V=2.5v ,这里是简单举个例子
在CSDN上搜PWM,看大佬们的博客,能让你们彻底理解,
这两个博客讲的都挺好,你简单看一下,知道PWM怎么回事,然后会用就行
STM32——PWM知识详解_笛卡尔的叹息的博客-CSDN博客_stm32pwm
PWM原理 PWM频率与占空比详解_Z小旋的博客-CSDN博客_pwm
ADC
ADC就是数模转化,A模拟量,D数字量,
例程中,就是通过adc_once(ADC_P11, ADC_10BIT)这个函数,
进行ADC采集,把电压这个模拟量,变为直观的数字量,
简单来说就是把电压变成一个数,方便你去进行数据处理。
这在电磁和充电组别应用及其明显。
看一下这篇文章方便理解
什么是 ADC - 模数转换器 - 知乎
编码器
编码器解码 顾名思义 就是将编码器的状态解算出一个数,
和ADC差不多,都很好理解。
在智能车中,编码器大部分与后轮(驱动轮)结合,这样就可以知道当前的车速。
【平衡小车制作】(三)编码器讲解(超详解)_鲁乎乎的博客-CSDN博客_霍尔编码器和光电编码器的区别
编码器分类及原理和测速应用(含代码)_清雨夜Cll的博客-CSDN博客_编码器程序
智能车入门——编码器
一样,看看这两篇文章,知道编码器是什么就行,
像这篇文章,他讲到了写配置编码器的函数,暂时没必要看,逐飞的库里写好了。
如果对自己要求高一点,你简单看看,明白作者在干什么,到时候你自己独立写配置模块的函数,知道怎么个流程。
中断
中断就是达到某个条件就去执行
如定时器中断(常用),设置中断周期为5ms,那么就会每5ms执行一次中断里的程序
串口中断:串口收到数据,就执行中断里程序
我说的比较浅显,具体需要搜一下大佬们的解释
什么是中断?中断的作用?_惬意的下雨天的博客-CSDN博客_什么是中断
中断的概念_typhoonzb的博客-CSDN博客_中断的概念
[7-1] 定时器_哔哩哔哩_bilibili
智能车入门——中断
中断比较重要,建议多看看
UART串口
UART起到通信(数据传输交换)作用
TX发送,RX接收,用三根线就可以让两个板子通信,用一个usb转ttl就可以让板子与电脑通信,用无线串口就可以无线通信。
[8-1] 串口通信_哔哩哔哩_bilibili
一篇短文让你彻底理解什么是串口通信_Neutionwei的博客-CSDN博客_串口通信
EEPROM
EEPROM即带电可擦可编程 只读存储器,即可以写数据,又可以读数据,特点是掉电也能保存数据。
实际中我们可以写人机交互界面写入调车参数,修改方便,无需一次次下载代码。
STC16F不自带EEPROM,STC32G自带EEPROM
EEPROM的学习和使用方法_Bornpride的博客-CSDN博客_eeprom
深入理解EEPROM使用_大牛攻城狮的博客-CSDN博客_eeprom怎么写入数据
智能车模块详解——数据存储与读写(eeprom/flash)
串口通信和flash/eeprom在代码上实现过程差不多,
因为串口通信是一个字节 一个字节(8位) 地传输,flash/eeprom的读写也是8位8位的,具体怎么用,我后面应该会写,
系列文章目录
文章分为三个层次
速通版是希望通过简化的步骤搭建出寻迹小车,进而了解整个智能车是如何实现的,快速上手,为后续参与智能车竞赛做基础。
如果只是为了完成学校智能车初期培训,做出能简单循迹的小车,可以看这个速通版。
全程引导篇是讲了做出能够完赛的智能车的整个过程,大部分文章只是简单点拨一下,但是附上了相关的文章链接,方便根据自己的情况深入了解。
全程引导篇,能够带你比较系统地了解整个智能车的制作过程,推荐备赛初期或者有车模之后学习。
详细讲解篇是全程引导篇的补充,由于全程引导篇是引导性质,文章内容只是点拨,缺乏相应的原理或代码讲解,因此写详细讲解篇作为补充。
详细讲解篇会渗透在全程引导篇中。
速通版
智能小车速通版——手把手教程
全程引导篇
智能车入门——IDE安装以及库函数选用
智能车入门——编程语言(c)的学习
智能车入门——简单驱动常用模块
智能车入门——车模器件篇
智能车入门——模块化编程
智能车入门——跑车前的零碎知识
智能车入门——电磁循迹原理与实现
智能车入门——实现低速完赛
详细讲解篇
智能车入门补充篇
智能车入门补充篇——逐飞开源库介绍
智能车入门补充篇——常见宏定义和使用
智能车入门补充篇——模块化编程
智能车入门补充篇——电感值处理、转向控制与巡线
智能车入门补充篇——元素识别
智能车模块详解——按键及按键调参
智能车模块详解——数据存储与读写(eeprom/flash)
智能车入门——I/O、PWM
智能车入门——中断
智能车入门——编码器
智能车入门——陀螺仪
智能车入门——摄像头和CCD
智能车入门——舵机文章来源:https://www.toymoban.com/news/detail-404775.html
(更新中)文章来源地址https://www.toymoban.com/news/detail-404775.html
到了这里,关于智能车入门——简单驱动常用模块 <新手从零做车>的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!