
嵌入式
文章平均质量分 85
woshizuopie
不断学习
展开
-
Git&&Gitflow
目录一. Git的工作空间和文件状态一个很简单的操作步骤:二. Git基本操作1.设置账户并查看(需要和github账户设置一致)2.创建git本地仓库3.查看git状态4.添加git文件到暂存区5. git提交文件6.git删除本地仓库文件(夹)7.git还原、撤销、版本回退操作(1)gitcheckout --(2)gitcommit --amend(3)gitreset8.gitremote操作(1)为 gitee ...原创 2022-02-06 00:21:58 · 757 阅读 · 0 评论 -
状态机实现按键检测
需求:按键分短按、长按,需要带消抖。key.h#ifndef __KEY_H_#define __KEY_H_#include "main.h"#define KEY_ST PORT_GetBit(KEY_GPIO_PORT,KEY_GPIO_PIN)typedef enum{ NULL_KEY = 0, SHORT_KEY = 1, LONG_KEY}KEY_TYPE;extern KEY_TYPE key_type;原创 2022-04-06 23:46:55 · 840 阅读 · 0 评论 -
16位数与8位数的转换
在单片机编程里,遇到这样一个问题,涉及到位操作:字节 0 1 2 3 4 5 6 7 CAN-ID 0 1 2 3 0x68 地址 计数 充电电压 充电电流 充电温度 eg:当数据为02 00 5d c0 42 68 00 41时,表示:当前的输出为24V、17A,温度为65摄氏度。/*** @brief CAN向充电器发送设置充电电压、电流信息 * @param //...原创 2022-04-06 23:34:15 · 1152 阅读 · 0 评论 -
嵌入式软件开发框架--时间片轮询法
一.参考:嵌入式软件开发常用的三种架构/** * @brief 任务函数相关信息结构体定义. */typedef struct{ uint8 m_runFlag; /*!< 程序运行标记:0-不运行,1运行 */ uint16 m_timer; /*!< 计时器 */ uint16 m_itvTime; /*!< 任务运行间隔时间 */ vo.原创 2022-04-06 22:58:01 · 752 阅读 · 0 评论 -
Apple Media Service
AMSMR: watchMS:phoneAMS entities:AMS定义了3个不同的实体entities,每个entities具有各自不同的属性attributes:(1)Player :The currently active media app。该实体的attributes包括其名称、播放状态和播放音量等值。(2)Queue : The currently loaded playback queue,当前加载的播放队列。该实体的attributes包括其大...原创 2022-03-28 00:16:16 · 638 阅读 · 0 评论 -
BLE应用框架接口设计--前提
本文从功能需求的角度分析一般蓝牙BLE单芯片的应用框架(SDK Framework)的接口设计过程,并以TI CC2541为例说明BLE的应用开发方法。一.应用框架(Framework)我们熟知的Framework包括Android Framework、Linux QT、Windows MFC。应用框架抽象并封装实现了一般应用场景的需求,完成应用开发的80%,剩下的20%则以回调和函数接口的方式供应用开发人员调用以完成具体的需求。一般Framework完成的工作包括:任务分发、消息通信和UI等.原创 2022-03-16 14:03:16 · 466 阅读 · 0 评论 -
BLE低功耗蓝牙协议栈
目录一. BLE低功耗蓝牙协议栈(1)蓝牙核心协议(Bluetooth Core)(2)蓝牙应用层协议(Bluetooth Application)(3)BLE低功耗蓝牙核心协议层详解(Bluetooth Core)① 物理层(PHY)② 链路层(LL)③ 主机控制接口层(HCI)④ 通用访问配置文件层(GAP)⑤ 逻辑链路控制及自适应协议层(L2CAP)⑥ 安全管理层(SM)⑦ 属性协议层(ATT)⑧ 通用属性配置文件层(GATT)(4)ATT协议层中的原创 2022-03-14 18:11:06 · 9968 阅读 · 1 评论 -
STM32+CubeMX+Keil+HAL库
目录1. 设置GPIO:2. printf重定向3. Log信息格式4.个性化输出5. CubeMX+HAL打开串口中断6.打开外部中断7.时钟树基本操作8.通用定时器配置9. CubeMX配置定时器(1)将定时器的时钟设为72M(2)选择内部时钟(3)配置定时器(4)开启中断定时器中断回调函数:(平滑滤波)10.CubeMX配置pwm11.CubeMX配置spwm12.CubeMX配置ADC(1)轮询...原创 2022-02-27 01:06:14 · 1780 阅读 · 0 评论 -
嵌入式C语言基础知识--位操作(串口&IIC通信发送格式)
大端模式、小端模式、高字节序、低字节序、MSB、LSB编程知识_字节序_位操作内存的读写永远是从低地址开始读写,从低到高。大小端模式:以unsigned int value = 0x12345678为例,分别按照大端模式和小端模式存放在芯片中。内存地址 0x00000001 0x00000002 0x00000003 0x00000004 大端模式 0x12 0x34 0x56 0x78 小端模式 0x78 0x...转载 2022-03-19 22:25:13 · 2504 阅读 · 0 评论 -
CANOpen(一)-- CAN通信基础补充
【专栏】CANOpen系列教程CAN与CANOpen(一)_maifansnet的博客-CSDN博客_canopen《CANOpen轻松入门》--周立功目录1. CAN组成2.位填充3.优先级4. 位时序CAN总线波特率5.数据帧CAN既是一种总线,又是一种协议。CAN总线协议只定义了物理层和数据链路层,在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件或固件,只要了解如何调用相关的接口和寄存器,即可完成对CAN的控制。简单说,CA...转载 2022-02-21 14:37:16 · 6818 阅读 · 1 评论 -
以太网口&arm&mos&推挽开漏&上下拉&高低边&时域频域傅里叶
目录1. 以太网网口简介MIIDMAMACPHY2. Arm2.1 什么是ARM内核:2.2 什么是ARM架构:2.3 什么是指令集:3. mos场效应管3.1 NMOS和PMOS3.2 Vcc、Vdd、Vss3.3 LDO3.4电源芯片选用LDO还是DC-DC?3.5TTL、CMOS4. 推挽输出和开漏输出5. 上拉、下拉6. 高、低边驱动7. 时域、频域、傅立叶分析8. Excel技巧Excel怎么将表格的一列乘..原创 2022-02-13 19:26:25 · 853 阅读 · 0 评论 -
串口-RS232/RS485-TTL/CMOS
目录串口通信基本原理串口、RS-232、RS-485(1)物理接口形式(2)电平标准TTL与CMOS:RS-232、RS-485、RS-422串口形式串口通信基本原理参考【STM32】串口通信基本原理设备之间的通信方式一般为:并行通信、串行通信两种。串行通信分类:1.按数据传送方向分为:单工:只支持数据在一个方向上传输; 半双工:允许数据在两个方向传输,但是在某一时刻只允许一个方向,它实际上是一种切换方向的单工通信; 全双工:允许数据同时在两...原创 2022-02-13 19:01:57 · 6346 阅读 · 0 评论 -
NMOS&PMOS&&ADC/示波器采样率
目录一. NMOS和PMOS1. 导通特性:PMOS:NMOS:2.超经典MOS管电平转换电路3. 电源切换电路(略)4. MOS管体二极管二. ADC采样原理三.示波器基本原理一. NMOS和PMOS只需记住一点:NMOS:电流D->S,G电位比S电位高,就会导通。PMOS:电流S->D,S电位比G电位高,就会导通。区分PMOS管和NMOS管的巧妙记忆方法_tanguohua_666的博客-CSDN博客_nmos管...原创 2021-08-01 12:05:22 · 5847 阅读 · 2 评论 -
STM32平衡小车学习总结
目录STM32f103c8t6引脚功能图:1.stm32——GPIO工作模式输入浮空:输入上拉:输入下拉:模拟输入:开漏输出:开漏复用功能:推挽式输出:推挽式复用功能:2. 编码器正交编码器:示例代码:3. AFIO时钟4. EXTI和NVIC5. PID5.1 P 控制5.2 I 控制5.3 D 控制5.4 PID 控制数学模型5.4.1 Sk、Dk的确定5.4.2位置式PID数学模型5....原创 2022-02-11 00:38:56 · 6117 阅读 · 0 评论 -
TIC12400相关配置-笔记
参考:TIC12400-Q1多路检测输入开关C语言底层驱动8.3.8.1 Input Current Source/Sink SelectionAmong the 24 inputs, IN10 to IN23 are intended for monitoring only ground-connected switches and are connected to current sour...原创 2021-06-28 12:50:24 · 2176 阅读 · 1 评论 -
微机原理与接口技术 - 指令系统_操作数和寻址方式
指令系统基本概念指令格式操作数在很多时候表示的是运算数据存放的地址,所以也可以称为地址码。但是有一种情况是这个操作数就表示数据本身,也就是运算对象自己,而不是运算对象的存放处。因此,操作数就表示指令执行的对象。指令中的操作数(1)立即数操作数立即数本身是参加操作的数据,可以是8位或16位,它没有运算地址的含义。又因为目标操作数一定表示操作结果的去向,即目标操作数一定要有地址的含义,所以立即数只能作为源操作数。eg:MOV AX,1234H:MOV的功能是实现数据传输,即将源操原创 2021-04-01 12:09:02 · 5558 阅读 · 0 评论 -
SPI&CAN&IIC通信协议简介
目录1. SPISPI的四种工作模式:CPOL:clock polarity,时钟极性。CPHA:clock phase,时钟相位。四种工作模式:2. CANCAN的特点:物理层特征:通讯节点:CAN通信报文:数据帧介绍:通过波形了解CAN网络通信:CAN信号的传输:发送过程:接收过程:1. SPI参考:SPI协议详解,波形分析-SPI数据SPI,串行外设接口(Serial Peripheral Interface),是一种...原创 2021-04-12 17:18:41 · 7446 阅读 · 2 评论 -
嵌入式开发 - ROM_RAM_Flash
目录一、嵌入式开发之NorFlash 和NandFlashROM,RAM和FLASH在单片中的作用:二、u-bootuboot启动过程:第一阶段:硬件的初始化.第二阶段:从flash中读出内核,启动内核。uboot必须解决哪些问题?1.自身可开机直接启动2.能够引导操作系统内核启动并给内核传参3.能提供系统部署功能4.能进行soc级和板级硬件管理5.uboot的"生命周期"uboot的工作方式1.从裸机程序镜像uboot.bin说起2.uboot的原创 2021-03-25 15:43:09 · 582 阅读 · 1 评论 -
嵌入式从硬件到Linux学习经验汇总-----By知乎
目录一.作者:懒懒土拨鼠第一阶段称为stm32+RTOS阶段。第二阶段称为多核+Linux阶段。第三阶段最后荐书环节二.作者:程序员良许转折点入门新挑战Linux应用的学习1.环境搭建2.基本操作3.系统编程4.网络编程5.数据库编程6.Shell编程Linux应用编程书籍推荐:三。作者:DiedCode1,学习单片机:2,过渡3,看ucos(非必须)4,Linux应用编程把握以下几点:5,嵌入式Linux6原创 2021-03-10 22:51:30 · 8724 阅读 · 0 评论 -
ARM微控制器-MCU基础及CPU运行过程(堆栈/中断/寄存器操作)
目录一. CPU的基本结构和运行机制参考《ARM微控制器与嵌入式系统--清华》一. CPU的基本结构和运行机制分析其中的CPU:(ALU、寄存器组、控制单元是必要的,其他非必要)一个完整的CPU:将ALU拿出来:分析其中的Quiz:① A + B = C操作数:A B;运算:+;运算结果:C;标志位:比如说用10+9=19,19无法用4个bit的二进制数表示,所以CPU需要以某种方式将这些记录下来,即溢出的标志位。② A > B ?..原创 2021-01-29 13:23:11 · 6441 阅读 · 2 评论