| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> RM机器人控制导论 -> 正文阅读 |
|
[嵌入式]RM机器人控制导论 |
关键字 1.static 定义变量:在下一次函数执行时该变量保持不变,并且源文件的所有函数都可以使用它 定义函数:1)其他文件中可以定义相同名字的函数,不会发生冲突 2)静态函数不能被其他文件所用。 2.extern 定义变量: 只在头文件中做声明,在.c文件里面使用时需引用一下头文件。 例: (1) 在 test1.h 中有下列声明:
(2) 在 test1.cpp 中
(3) 以上是 test1 模块, 它的编译和连接都可以通过。
定义函数:如果你想在本源文件中使用另一个源文件的函数,就需要在使用前用声明该函数,声明函数加不加extern都没关系,所以在头文件中函数可以不用加extern。 3.union联合体,枚举类型emua
1.解决“相同信息”的困扰,避免重复代码,提高代码的简洁性。 相同成员公用,差异成员则通过 union 区分,这就避免了代码重复,也避免了代码耦合。 2.节省内存 例子:(28条消息) C语言union的用法及好处_rchris520的博客-CSDN博客_union的作用 注:普通结构体占有的空间为所有变量的总和,而union只占有最高位的空间。 枚举:每个值自动赋值0,1,2,3,4,5...... 4.typedef (28条消息) 关于typedef的用法总结_艾斯曼的博客-CSDN博客_typedef的用法 初始单片机与IO口 执行: 把LED一端接到GND上,另外一端接到lo上,让IO口输出0的时候,led灯就不会亮,但是输出高电平就会亮。(MCU微控制器),对IO口需进行配置。 各种热敏电阻:将物理量转换为电压值传给单片机 ?寄存器的基本认知: ?{1.GPIO基本结构与T作方式 ? 引脚的功能:1.输入输出电压(驱动)2.输出某个特殊信号(查芯片手册) 四种输入模式: 1.输入浮空2.输入上拉3.输入下拉4.模拟输入 四种输出模式:1.开漏输出(带上或下拉)2.开漏复用功能(带上或下拉)3.推挽输出(带上或下拉)4.推挽复用功能(带上或下拉)? 四种速度:2MHZ,25MHZ,50MHZ,100MHZ 八种工作模式:模拟输入? 浮空输入? 下拉输入? 上拉输入? 开漏输出? ?推挽输出? 复用开漏输出??复用推挽输出?? 概念: 1.5V容忍:用于保护电路,防止被烧坏 2.浮空输入:外部引脚直接进入施密特触发器,直接进入芯片读取。一般用于通讯。 3.上拉输入:可以让内部稳定接收到高电压,对低电压敏感。 4.下拉输入:对高电压敏感 5.模拟输入:不经过施密特触发器,用于模数转换,可以准确的读到实际电压。 6.推挽输出:用于电压驱动类控制,可以稳定的输出电压。 7.开漏输出:用于电流驱动类型控制,(一般不用),用于电压转换可以将io从3.3v升为供电电压(5v),这个需要上拉。} 计时器:通过改变高低电平的时间,就能改变电压。PWM(占空比) 测试使用的是pid算法 无反馈--开环? 有反馈--闭环? P--输入与目标误差值? I--积分? ?D--微分 例:当步兵云台与对方的哨兵机器人角度相差值不是0时,则使用pid算法 反馈:1.角度反馈2.速度反馈 通过编码器来采集频率可以得到速度,知道高低电平的频率,形成波传给单片机 例子: AB---差了一个相位,用来获取方向? Z-- 用来获知圈数 通信(数据传输) 例:遥控器用无线通信通过接收机传输给单片机 协议:与单片机约定什么时候开始发送,什么时候停止发送等 ?串口通信(USART):使用二进制,具备占用传输线数量少、长距离传输时成本低的优点;但数据传输控制相比于并行通信复杂。 并行通信:控制简单、传输速度快;但由于其占用数据线过多,长距离传输数据时成本较高,且接受设备出同时接收数据时容易出现错位即抗干扰能力弱。 异步通信:实现容易、成本低;传输效率不高。 CAN通信:CAN通信只由两根线完成的,一条称为CAN_H(CAN High),一条称为CAN_L(CAN Low),共同构成一组差分信号线。 ??????????使用CAN总线共享,减少线路,方便排查;一个CAN总线上的所有器件通讯速率必须相同。(28条消息) STM32 CAN通信的学习笔记总结(从小白开始)_从心开始 >的博客-CSDN博客_can通讯原理 ?引脚:TX、RX、VCC、GND 步兵机器人控制串讲 1.LED灯:用来提示,判断程序是否正常执行 2.按键:切换红蓝模式 3.串口通信+DMA 使用电机:得到的是云台的相对角度 使用陀螺仪:得到的是云台的绝对角度 底盘跟随:云台转动后底盘与之产生的角度差值,即p(误差值),目标角度为0度。 底盘的绝对角度:云台的绝对角度-云台与底盘的相对角度; 云台跟随:不需要使用pid算法,云台会自动跟随。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:56:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |