嵌入式开发
文章平均质量分 74
海里的鱼2022
物联网+AI
展开
-
ubuntu下好用的TCP/UDP调试工具
ubuntu下好用的网络调试助手原创 2022-08-31 11:06:41 · 4809 阅读 · 0 评论 -
CH579M移植RT-THREAD实战笔记(KEIL5环境)
CH579M移植RT-THREAD成功点灯原创 2022-08-30 18:31:51 · 714 阅读 · 0 评论 -
multisim&KICAD仿真运放电路(三个例子)
1)运放组成基本的反向放大器反向放大器原理原理分析(来自百度百科) 运算放大器具有以下特点,当输出端不加电源电压时,正相输入端(+)和反相输入端(-)被认为施加了相同的电压,也就是说可以认为是虚短路。所以,当正相输入端 (+)为0V时,A点的电压也为0V。 运算放大器的输入阻抗极高,反相输入端(-)中基本上没有电流。因此,当Ie经由A点流向R2时,I1和I2电流基本相等。由以上条件,对R2使用欧姆定律,则得出Vout=- I1xR2。 I......原创 2022-06-04 10:16:48 · 7069 阅读 · 0 评论 -
STM8L051比较器使用案例(一)COMP1基本使用
8L 的比较器没找到例程,只能自己啃手册和看官方例程,管库5个例程:AnalogWatchdog是个窗口比较器例程COMP1-Halt是比较器1例程其余三个是COMP2例程。从资料分析:COMP1的内部连接图:比较器COMP1的输入Threshold是固定接在参考电压Vref(1.22V)上,具体特性可参见datasheet:另一端可接任意一个外部IO口...原创 2018-08-04 20:10:18 · 218 阅读 · 0 评论 -
开源智能手表TTGO-WATCH上手把玩(0)环境配置
1. Arduino添加ESP32板支持Installation instructions using Arduino IDE Boards ManagerStarting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 b原创 2022-02-28 07:19:55 · 2087 阅读 · 3 评论 -
ESP-Arduino玩转外设(五)中断基本概念及Timer中断
1. 嵌入式开发要深刻理解“资源受限”嵌入式系统设计开发的主要技术矛盾:芯片和板级资源的限制VS. 任务和事件处理的实时性要求内存,Flash空间,GPIO数量, ADC/DAC通道数等等,甚至体积,功耗, 嵌入式系统面临的约束条件是比较多的,而需求角度对系统又要求处理及时,响应快还要功耗越低越好......等等,这一对矛盾催生了各种嵌入式系统的核心技术,低功耗节电、实时操作系统、高速串口......都是为了解决上面的技术矛盾。2. 为神马要有中断机制?前面提到的嵌入式系统的主程序基本上是个原创 2022-02-13 09:55:16 · 2048 阅读 · 0 评论 -
ESP-Arduino(四) PWM波形控制输出
PWM作为重要的IO输出功能,应用广泛,常见应用包括:1. 电机控制(调速,调扭矩,恒压/恒流/恒扭矩控制等等)2. 控制蜂鸣器输出音调3. 播放声音文件4. 呼吸灯ESP32在arduino中没有提供PWM例程,也不想arduino标准板子有analogWrite方法,所以可以利用其LEDC的控制接口来输出PWM波,为了方便学习,可以配合逻辑分析仪软件来进行波形抓取和分析。官网下载链接:Logic analyzer software from Saleae可以自定义插件原创 2022-02-11 23:45:57 · 6130 阅读 · 0 评论 -
ESP32-Arduino(三)GPIO输入操作,去抖,ADC多按键
GPIO除了输入输出,一般还有很丰富的复用功能,以ESP32为例:我们在上次开关量输出(HIGH/LOW)先来看输入信号一般的用法:1. 读取外部接口状态--开关信号量,比如按键2. 模拟输入, 读取外部信号的电压值3. 用作中断触发,当状态改变时触发中断,进入预设的处理程序GPIO其他的输出功能:1. DAC/PWM然后就是组合的高速串口接口了,SPI/I2C最为典型,和通用串口的差异就在于支持高速的数据传输,而且主要以同步传输为主(带时钟信号)。我们这..原创 2022-02-11 01:13:26 · 15883 阅读 · 1 评论 -
ESP32-Micropython(二)串口通信
上一节建立了Micropython环境,详细的esp32各类应用及例子官方文档其实介绍的很详细,可以仔细阅读并通过代码进行验证。Quick reference for the ESP32 — MicroPython 1.18 documentation我们这一节先把串口做个测试,串口库的说明参见Quick reference for the ESP32 — MicroPython 1.18 documentation其中ESP32支持三个串口因为micropyt...原创 2022-02-10 00:29:09 · 15245 阅读 · 3 评论 -
ESP32-Arduino(二) UART-Serial: 人机对话的窗口
上一讲 , 我们通过Arduino对ESP32进行IOT开发进行了探索,也建立了基本的工具链,可以正经干活了, 在开始其他部分之前,先处理两个遗留问题:1. 如何找到板子的引脚定义?方法是原理图+对应板子的pins_arduino.h文件映射关系2. Arduino的C/C++和标准语言相比有哪些特殊特性,又如何正确运用?然后进入我们这一节的主题,就是串口,串口是人机交互的界面,主要有三类应用方式:1. 打印输出信息2. 人机交互接受指令3. 驱动外设Arduino串原创 2022-02-09 23:48:21 · 3662 阅读 · 1 评论 -
ESP32-Arduino(一)环境搭建& blink.....
随着低代码开发模式的流行,原先在创客圈子的大玩具---Arduino也逐渐进入“正规军”的开发流程,在方案公司里,可以快速构建环境,而且只要是支持Arduino的板子,都可以拿来即用,相当于实现了硬件芯片无关,大大简化了硬件环境准备,加快了快速原型开发。 esp32支持BLE+WIFI,也有很多云端应用可以移植,用来做个智能锁,甚至智能手表都可以快速形成原型,实现自己的想法。1. 首先官网下载ArduinoArduino - Home下载最新版本的IDEhttps://dow...原创 2022-02-09 00:47:36 · 5661 阅读 · 2 评论 -
IMX6开发板笔记--导入mjpg-streamer,打开摄像头
这也是把成熟应用移植到arm平台的一个典型案例。mjpg-streamer可以将uvc摄像头图像流化用于远程查看,非常方便。1. 建立交叉编译环境,这是arm平台移植应用必备的一步一般我们安装的是64位系统,所以gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz这个安装包sudo mkdir /usr/local/armsudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-g.原创 2021-07-08 01:52:23 · 344 阅读 · 0 评论 -
ffmpeg音视频应用开发(一)ubuntu编译配置ffmpeg库
1. 为了可以调用srt协议,下载编译srt库git clone https://github.com/Haivision/srtcd srt./configuresudo make & sudo make install2. 安装必要的库sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtoo原创 2021-06-27 10:02:42 · 388 阅读 · 0 评论 -
ubuntu配置远程桌面登录(两端都是ubuntu)
1. 从机(被访问端)安装x11vnc可以ssh登录后安装 sudo apt-get install x11vnc -y 2. 设置访问密码 sudo x11vnc -storepasswd /etc/x11vnc.pass 创建密码文件后,会提示输入密码及二次输入。记得将密码文件更改访问属性sudo chmod 777 /etc/x11vnc.pass3. 创建服务文件在/etc/init ..原创 2021-06-25 16:19:54 · 1029 阅读 · 0 评论 -
基于ubuntu环境,搭建Arduino+ESP32+MPU6050验证系统,并利用Processing仿真
具体姿态解算和原理性验证,姿态反馈控制另文描述,本文只针对基本验证环境搭建。1. 建立基于Arduino的ESP32开发环境原来用micro和promini都做了环境,但是隔了一段时间居然串口烧录把板子搞挂了,pro mini串口烧录也老出问题,先放一放,手上刚好有EPS32的开发板,毕竟ESP32带了wifi和蓝牙,也有多个串口,资源够用,也方便数据传输,用来读取MPU6050开发板的数据做原理性验证绰绰有余了。Arduino直接下ESP32的包https://github.com/poc原创 2021-02-19 15:06:21 · 2739 阅读 · 1 评论 -
ubuntu下好用的虚拟串口工具
To install socat on Ubuntu (I'm using 12.04) just run the following command:# sudo apt-get install socatSetting up two serial linesnow on a terminal window run socat# socat -d -d PTY PTYThe output should look like the following one:...原创 2020-12-07 23:14:23 · 754 阅读 · 0 评论 -
LC3 ubuntu环境配置
<计算机系统概论>需要用到LC3工具包用于调试代码和练习对系统架构的理解,包括汇编到C的转换机制和代码的运行过程,课程非常经典,需要提前安装配置LC3工具包,ubuntu下摸索了一遍,记录下来.课程的学生资源链接:http://highered.mheducation.com/sites/0072467509/student_view0/index.html工具,讲义,源码都有,很完备需要安装的主要工具:1)lc3模拟器,模拟汇编代码(可以由二进制或者16进制代码转换而来,也可以直接原创 2020-10-25 01:55:55 · 519 阅读 · 0 评论 -
Arduino案例:步进电机,官方例程要调整线序
主角就是这东东:真值表(其实没什么用)很简单,插线就是了,直接用USB电源,供电不足,还有可能烧笔记本的U口,可以用充电宝+下面这个调整电压的小模块这样既方便又安全。上官方例程:Arduino--示例--stepper --MotorKnob简化一下, 其中引脚2,3,4,5对应板上IN1-4/* * MotorKnob * * A stepper motor follows the turns of a potentiometer * (or othe..原创 2020-09-03 00:08:29 · 732 阅读 · 0 评论 -
STC开发环境搭建--STC15F104W
很多场合需要用到8脚高电压(5.0v)供电的小型应用,此时1.x元人民币的STC单片机算是个不错的选择,原来玩过用于闭门器的螺线管PWM控制,重新捡起来看看能不能用来做智能灯控的主控,配合一个蓝牙或者2.4G或者433的透传模块,折腾了一阵,总结如下:1. 配置和能力有点鸡肋 ,1.x的成本还好,但是8L051也是这个档次,而且管脚更多,就不说其他国产替代的M0级别替代品了2. 没有ADC,没有自带的PWM,有定时器,这样只能用定时器来拼,会有点麻烦,不灵活;3. 没有串口,也没有SPI/I2C原创 2020-09-02 20:10:31 · 2831 阅读 · 0 评论 -
52832的BSP堪称经典,值得借鉴
1. BSP-board support package , 主要针对板子的底层做了支持。 用bsp接口调用底层硬件可以降低硬件相关性。 对于nordic平台来说,BSP的底层硬件主要关联到灯和按键,这部分定义在boards.h中根据编译选项关联到对应的板子h文件,我们自定义的板子为hy0628.h板子的.h文件主要就是灯和按键的引脚关联和数量,状态等定义,这部分是基本的// LEDs definitions for dev 0628#define LEDS_NUMBER ...原创 2020-07-14 19:24:10 · 687 阅读 · 0 评论 -
STM32L151的RTC实时时钟功能测试
网贴写的比较清楚的有一篇可以参考:https://blog.csdn.net/lirrrr3377/article/details/19161487代码可以用,但是数据结构设计的不好,容易出错,可读性不强。所以重写数据结构和配置函数。整理后的步骤如下:1. RTC初始化可以利用CubeMX设置后自动生成可用的代码,防止出错2. 定义date和time的数据结构typedef struct{ uint8_t Year; uint8_t Month; uint8_t D原创 2020-07-12 12:19:30 · 2402 阅读 · 0 评论 -
52832的GPIO隐藏小秘密--9/10脚的使能
52832的NFC功能有机会要体验下,毕竟可以省了外围的读卡芯片,不过这个功能也留下了个坑,就是9/10脚必须改变下设置,才能当作普通GPIO使用。 打开的方法: 1.#include "system_nrf52.h" 主程序把这个头文件加上 2. 头文件里要有一句//#define CONFIG_NFCT_PINS_AS_GPIOS不过,实测好像打开一次就可以了,之后哪怕关掉也不会影响9脚使用了。...原创 2020-07-10 08:30:14 · 422 阅读 · 0 评论 -
52832 SDK API 循序渐进(二) 四个例程: GPIOTE/ GPIOTE处理外部中断/Systick/利用systick处理按键去抖
一、按键中断入口处理前文讲到两个要点在本篇通过实验来验证:1. 外部中断的event通过GPIOTE的event处理handler来处理;2. 通道0-7是一一对应GPIOx的,但8以后是共用Port event通道实现功能:通过Key1,Key2来控制LED1/LED2的状态看原理图,button是低有效定义连接#define BUTTON0 15#defi...原创 2021-01-27 15:39:24 · 585 阅读 · 1 评论 -
最靠谱的UBUNTU下配置STM32+stlinkV2开发环境
1. 安装固件库建立安装目录2. 安装cubemx,这个可以自动生成对应项目的makefile,墙裂推荐先要安装oracle jrehttps://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html需注册登录JRE没看出有什么用?待确认STM32CUBEMX下载目...原创 2019-10-06 20:21:40 · 1363 阅读 · 0 评论