掌握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亮灭,


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怎么写入数据

串口通信和flash/eeprom在代码上实现过程差不多,

因为串口通信是一个字节 一个字节(8位) 地传输,flash/eeprom的读写也是8位8位的,具体怎么用,我后面应该会写,


智能车入门——简单驱动常用模块 <新手从零做车>相关推荐

  1. 智能车入门——车模器件篇 <新手从零做车>

    本文讲搭车需要哪些器件,及其使用 电磁车简易接线图 这个是逐飞tb店展示的电磁车简易接线图,加上舵机,基本上就可以搭一辆四轮车. 电机 电机 电机应该都比较熟悉 在电机两端施加电压,电机就会旋转,电压 ...

  2. 智能车入门——‘教程引导’ <新手从零做车>

    前言 本系列文章是针对 第一次接触智能车 /学校没有传承   不知道 如何上手做智能车 的同学 将这个系列看完,应该就能够 做出正常的 一个低速完赛的电磁车, 如果你是想提速,寻找新的方案,那么这个教 ...

  3. 智能车入门——跑车前的零碎知识<新手从零做车>

    17届技术报告 | 杭电四轮电磁一队_卓晴的博客-CSDN博客 建议多看一下一些强校的技术报告 调整舵机中值 装舵机舵盘时,要保证车能够左右打死, 装好舵机后,要调整舵机中值,也就是占空比为何值时车走 ...

  4. 第三章、Ansible常用模块—新手快速入门

    第三章.Ansible常用模块--新手快速入门 文章目录 一. 查看系统上安装的所有模块 二.ansible常用模块 1.常用模块之–USER 2.常用模块之–shell 3.常用模块之–copy 4 ...

  5. nodejs入门开发与常用模块

    npm:NodeJs包管理器 express:服务器端比较流行的MVC框架,处理服务请求,路由转发,逻辑处理 http://socket.io:实现服务端和客户端socket通信解决方案 https: ...

  6. 简单介绍蓝牙无线模块和手机进行的车数据交互技巧

    将模块设置为唤醒模式的从机模块,上电等候.手机下载BLE调试助手,并打开蓝牙打开APP.在设备中找到从机模块,并连接. 连接成功后,选择"Unknown Service" 接收数据 ...

  7. 软件测试入门简单么?入行后如何做职业规划

    软件测试的确是入门相对简单的一个学科,他们不常写代码,主要去检查代码,是不是出现了漏洞.程序是否能运行下去?那这部分程序员就是做软件测试. 这个类别没有做Java难没有大数据那么复杂,但还可以拿到程序 ...

  8. php识别号码格式豹子,[转载]php新手入门之PHP常用特殊运算符号

    php新手入门之PHP常用特殊运算符号,尖锋网站长发布分享. 尖锋网常发布一些技术分享资料和文章.欢迎大家提供高质量的旅游生活养生问答. 注解符号: // 单行注解 多行注解 引号的使用 ' ' 单引 ...

  9. 第十五届智能车入门浅谈

    @TOC第十五届智能车入门浅谈 写博客原因 这次第十五届全国智能车大赛已经结束了,对于我而言,确实是我大学中一个不可多得的经历,我希望我的这段经历可以保存下来通过博客的形式,同时可以对于其他人有帮助, ...

最新文章

  1. Apache启动过程(PHP_MINIT_FUNCTION的调用)
  2. RMAN 备份SHELL
  3. 江湖急诏令:腾讯数据库王者挑战赛赏金万两募英豪!
  4. 实时数据交换平台 - BottledWater-pg with confluent
  5. mysql事务顺序重排_MySQL事务处理及字符集和校对顺序
  6. java中execquery(),javaee登录界面
  7. mysqldump备份原理及注意事项
  8. python安装第三方扩展包_Python之安装第三方扩展库
  9. HBase与Zookeeper数据结构查询
  10. Python GUI案例之看图猜成语开发(第一篇)
  11. 论文阅读_ICD编码_BERT
  12. 蓝墨云班课在计算机应用基础的教学,蓝墨云班课在“计算机应用基础”课程教学中的应用效果分析...
  13. appliedzkp zkevm(13)中的Public Inputs
  14. raptor流程图赋值语句_RAPTOR流程图编程.ppt
  15. longhorn安装与使用
  16. oracle查看日期是第几周
  17. 戾气遍地的社会,我们该如何远离垃圾人?(深度)
  18. 1144106-65-9,Bromo-PEG1-azide,Bromo-PEG1-N3叠氮基团可以通过点击化学与炔烃、BCN、DBCO反应,生成稳定的三唑键
  19. 关于PS课程中字体部分的学习总结
  20. 电路基础_模拟电路_问答_2023

热门文章

  1. Vue 入门基础知识
  2. c语言fclose函数作用,详解C语言中freopen()函数和fclose()函数的用法
  3. java位图_位图Bitmap及其Java实现
  4. C​#​在​屏​幕​上​画​图
  5. Unity Asset Bundles Manifest文件
  6. Intellij IDEA打包文件manifest文件信息有误
  7. 在线编程——丑数系列(pythonC++)
  8. 2.基础概念与长连接
  9. 拓端tecdat|bilibili视频流量数据潜望镜
  10. 传值、传地址、传名的区别