![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机
文章平均质量分 88
韦东山
深圳百问网科技有限公司技术总监,毕业于中国科学技术大学电子、软件专业双学位,10余年嵌入式一线开发经验, 畅销书<<嵌入式Linux应用开发完全手册>>作者, 擅长ARM/MIPS等架构的Linux底层系统开发, 曾为多家知名培训机构特邀讲师,2011年陆续录制的工程师必看教程------韦东山系列Linux/Android视频,有口皆碑。累计学员10万+,当之无愧成为嵌入式培训领域的佼佼者。
展开
-
在e2studio中使用DAP进行开发调试(基于DShanMCU-RA6M5开发板)
在e2studio中使用DAP进行开发调试(基于DShanMCU-RA6M5开发板)原创 2023-08-07 10:13:43 · 827 阅读 · 2 评论 -
在 esp32 上运行 lvgl + freetype
本文教你如何在 esp32 上运行 LVGL + FreeType原创 2023-05-12 10:09:59 · 1271 阅读 · 6 评论 -
【众筹】百问网DShanMCU-Mio开源掌机(爻-澪)项目,完美支持运行10多个模拟器!
爻-澪(Yao-Mio)开源掌机支持的模拟器:- Nintendo(任天堂): NES, SNES (slow), Gameboy, Gameboy Color, Game & Watch- Sega(世嘉): SG-1000, Master System, Mega Drive / Genesis, Game Gear- Coleco(科莱科): Colecovision- NEC HE(NEC Home Electronics): PC Engine- Atari(雅达利): Lynx原创 2022-12-13 14:07:27 · 1883 阅读 · 0 评论 -
LVGL官方+100ASK合力打造的中文输入(拼音输入法)组件,让LVGL支持中文输入!
LVGL V8.3 版本支持中文输入(拼音输入法)啦!LVGL中的中文输入组件称为:lv_ime_pinyin,完全由百问网团队编写而成...原创 2022-07-13 11:31:10 · 2552 阅读 · 0 评论 -
韦东山freeRTOS系列教程之【第十三章】调试方法
文章目录系列教程总目录第十三章 调试方法需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章会比较多,为方便同学们阅读,点击这里可以查看文章的 目录列表,目录列表页面地址:https://blog.csdn.net/thisway_diy/article/details/121399484第十三章 调试方法待续。.. toctree:: :maxdepth: 2 section1..原创 2021-12-02 11:21:50 · 3822 阅读 · 7 评论 -
韦东山freeRTOS系列教程之【第十二章】资源管理(Resource Management)
文章目录系列教程总目录概述12.1 屏蔽中断12.1.1 在任务中屏蔽中断12.1.2 在ISR中屏蔽中断12.2 暂停调度器需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章会比较多,为方便同学们阅读,点击这里可以查看文章的 目录列表,目录列表页面地址:https://blog.csdn.net/thisway_diy/article/details/121399484概述在前面讲解互斥量时,引入过临界原创 2021-12-01 10:15:05 · 2809 阅读 · 1 评论 -
韦东山freeRTOS系列教程之【第十一章】中断管理(Interrupt Management)
文章目录系列教程总目录概述11.1 两套API函数11.1.1 为什么需要两套API11.1.2 两套API函数列表11.1.3 xHigherPriorityTaskWoken参数11.1.4 怎么切换任务11.2 中断的延迟处理11.3 中断与任务间的通信需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章会比较多,为方便同学们阅读,点击这里可以查看文章的 目录列表,目录列表页面地址:https://blo原创 2021-12-01 10:14:20 · 3796 阅读 · 1 评论 -
韦东山freeRTOS系列教程之【第十章】软件定时器(software timer)
文章目录系列教程总目录概述10.1 软件定时器的特性10.2 软件定时器的上下文10.2.1 守护任务10.2.2 守护任务的调度10.2.3 回调函数10.3 软件定时器的函数10.3.1 创建10.3.2 删除10.3.3 启动/停止10.3.4 复位10.3.5 修改周期10.3.6 定时器ID10.4 示例24: 一般使用10.5 示例25: 消除抖动需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章原创 2021-11-30 10:03:01 · 4787 阅读 · 0 评论 -
韦东山freeRTOS系列教程之【第九章】任务通知(Task Notifications)
文章目录系列教程总目录概述9.1 任务通知的特性9.1.1 优势及限制9.1.2 通知状态和通知值9.2 任务通知的使用9.2.1 两类函数9.2.2 xTaskNotifyGive/ulTaskNotifyTake9.2.3 xTaskNotify/xTaskNotifyWait9.3 示例22: 传输计数值9.4 示例23: 传输任意值需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章会比较多,为方便同学原创 2021-11-26 10:32:27 · 4273 阅读 · 0 评论 -
韦东山freeRTOS系列教程之【第八章】事件组(event group)
文章目录系列教程总目录概述8.1 事件组概念与操作8.1.1 事件组的概念8.1.2 事件组的操作8.2 事件组函数8.2.1 创建8.2.2 删除8.2.3 设置事件8.2.4 等待事件8.2.5 同步点8.3 示例20: 等待多个事件8.3 示例21: 任务同步需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章会比较多,为方便同学们阅读,点击这里可以查看文章的 目录列表,目录列表页面地址:https://原创 2021-11-25 10:53:51 · 8263 阅读 · 5 评论 -
韦东山freeRTOS系列教程之【第七章】互斥量(mutex)
文章目录系列教程总目录概述7.1 互斥量的使用场合7.2 互斥量函数7.2.1 创建7.2.2 其他函数7.3 示例15: 互斥量基本使用7.4 示例16: 谁上锁就由谁解锁?7.5 示例17: 优先级反转7.6 示例18: 优先级继承7.7 递归锁7.7.1 死锁的概念7.7.2 自我死锁7.7.3 函数7.7.4 示例19: 递归锁7.8 常见问题需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章会比较多原创 2021-11-24 10:10:36 · 6369 阅读 · 2 评论 -
韦东山freeRTOS系列教程之【第六章】信号量(semaphore)
文章目录系列教程总目录概述6.1 信号量的特性6.1.1 信号量的常规操作6.1.2 信号量跟队列的对比6.1.3 两种信号量的对比6.2 信号量函数6.2.1 创建6.2.2 删除6.2.3 give/take6.3 示例12: 使用二进制信号量来同步6.4 示例13: 防止数据丢失6.5 示例14: 使用计数型信号量需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章会比较多,为方便同学们阅读,点击这里可以原创 2021-11-23 10:41:44 · 7666 阅读 · 4 评论 -
韦东山freeRTOS系列教程之【第五章】队列(queue)
文章目录系列教程总目录概述5.1 队列的特性5.1.1 常规操作5.1.2 传输数据的两种方法5.1.3 队列的阻塞访问5.2 队列函数5.2.1 创建5.2.2 复位5.2.3 删除5.2.4 写队列5.2.5 读队列5.2.6 查询5.2.7 覆盖/偷看5.3 示例8: 队列的基本使用5.4 示例9: 分辨数据源5.5 示例10: 传输大块数据5.6 示例11: 邮箱(Mailbox)需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列原创 2021-11-22 12:18:41 · 10604 阅读 · 12 评论 -
韦东山freeRTOS系列教程之【第四章】同步互斥与通信
文章目录系列教程总目录概述4.1 同步与互斥的概念4.2 同步与互斥并不简单4.3 各类方法的对比需要获取更好阅读体验的同学,请访问我专门设立的站点查看,地址:http://rtos.100ask.net/系列教程总目录本教程连载中,篇章会比较多,为方便同学们阅读,点击这里可以查看文章的 目录列表,目录列表页面地址:https://blog.csdn.net/thisway_diy/article/details/121399484概述本章是概述性的内容。可以把多任务系统当做一个团队,里面的每原创 2021-11-22 12:09:09 · 5228 阅读 · 0 评论 -
韦东山freeRTOS系列教程之【第三章】任务管理
文章目录系列教程总目录概述3.1 基本概念3.2 任务创建与删除3.2.1 什么是任务3.2.2 创建任务3.2.3 示例1: 创建任务3.2.4 示例2: 使用任务参数3.2.5 任务的删除3.2.6 示例3: 删除任务3.3 任务优先级和Tick3.3.1 任务优先级3.3.2 Tick3.3.3 示例4: 优先级实验3.3.4 示例5: 修改优先级3.4 任务状态3.4.1 阻塞状态(Blocked)3.4.2 暂停状态(Suspended)3.4.3 就绪状态(Ready)3.4.4 完整的状态转换原创 2021-11-19 14:35:57 · 10871 阅读 · 17 评论 -
韦东山freeRTOS系列教程之【第二章】内存管理
文章目录教程目录2.1 为什么要自己实现内存管理2.2 FreeRTOS的5种内存管理方法2.2.1 Heap_12.2.2 Heap_22.2.3 Heap_32.2.4 Heap_42.2.5 Heap_52.3 Heap相关的函数2.3.1 pvPortMalloc/vPortFree2.3.2 xPortGetFreeHeapSize2.3.3 xPortGetMinimumEverFreeHeapSize2.3.4 malloc失败的钩子函数需要获取更好阅读体验的同学,请访问我专门设立的站点查原创 2021-11-19 13:19:10 · 11089 阅读 · 5 评论 -
STM32定时器—PWM 输出
26.1 关于 PWM26.1.1 PWM 介绍PWM(Pulse Width Modulation,脉冲宽度调制)。是一种利用微处理器的数字输出来对模拟电路进行控制的技术,广泛应用在测量、通信、功率控制等诸多领域。举个最常见的例子,利用PWM控制显示屏亮度。屏幕背光可以看作是一个大灯,这个大灯只有亮、灭两种状态。如果把灯亮看作100%,灯灭看作0%,要实现50%的亮度,可以在某个单位时间里亮灯50%时间、灭灯50%时间,只要这个单位时间够小,由于人眼具有视觉暂留效应,就会从宏观的感觉整个灯是一直亮着原创 2021-06-28 10:42:44 · 10613 阅读 · 7 评论 -
STM32定时器US延时
25.1 关于定时器25.1.1 定时器分类STM32中有众多定时器,如图 25.1.1 所示。按所处的位置可分为核内定时器和外设定时器。核内定时器就是前面 “第11章 基础重点—SysTick定时器”介绍的SysTick定时器,该定时器位于Cortex-M3内核中。外设定时器由芯片半导体厂商设计,如STM32系列,包含常规定时器和专用定时器。常规定时器是本章重点介绍的介绍的内容,专用定时器在后面几章讲解。SysTick定时器SysTick定时器前面已经详细介绍了,主要用于系统精确延时,不占用原创 2021-06-25 10:57:44 · 6180 阅读 · 1 评论 -
STM32数据的搬运工DMA
24.1关于 DMADMA(Direct Memory Access)直接内存访问,可以大大减轻CPU工作量。CPU根据代码内容执行指令,这些众多指令中,有的用于计算、有的用于控制程序、有的用于转移数据等。其中转移数据的指令,尤其是转移大量数据,会占用大量CPU。如果是把外设A的数据,传给外设B,这种情况其实不需要CPU一直参与,只需在A、B之间创建个通道,让它们自己传输即可。这就是DMA设计的目的,减少大量数据转移指令消耗CPU,DMA专注数据转移,CPU专注计算、控制。DMA主要实现将A处的数据直接原创 2021-06-15 11:33:51 · 3245 阅读 · 9 评论 -
STM32之CAN通信
23.1关于 CAN23.1.1 CAN 电气特性与协议控制器局域网(Controller Area Network,CAN),是由德国BOSCH(博世)公司开发,是目前国际上应用最为广泛的现场总线之一。其特点是可拓展性好,可承受大量数据的高速通信,高度稳定可靠,因此常应用于汽车电子领域、工业自动化、医疗设备等高要求环境。CAN总线有两个ISO国际标准:ISO11519 和ISO11898。ISO11519定义了通信速率为10~125Kbps的低速CAN通信标准,属于开环总线,传输速率为40Kbp原创 2021-06-08 16:16:49 · 52300 阅读 · 16 评论 -
RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之环境搭建(1/4)
文章目录前言硬件准备百问网STM32F103ESP8266 01SESP8266 介绍ESP8266 01S技术规格参数软件准备下载安装 Keil μVision5Pack Installer安装 ST-Link 驱动获取RT-Thread源码下载安装 RT-Thread env 工具文章列表RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之环境搭建(1/4)RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266转载 2021-06-02 17:49:32 · 874 阅读 · 0 评论 -
RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)
文章目录前言AT指令查看固件版本查看FLASH容量需不需要更新固件烧录固件时如何接线烧录固件文章列表RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之环境搭建(1/4)RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之RT-Thread AT组件(3/4)RT-Thrad|STM32F103+ESP8转载 2021-06-02 17:48:33 · 880 阅读 · 0 评论 -
RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之RT-Thread AT组件(3/4)
文章目录前言AT组件简介硬件接线RT-Thread源码和Env工具RT-Thread源码Env工具AT Client 配置AT Client 运行示例AT Client 模式AT Client CLI 模式AT Socket 功能AT Socket 配置AT Socket 的使用网络连接测试MQTT 组件示例测试文章列表RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之环境搭建(1/4)RT-Thrad|STM32F103+ESP8266 S01+RT-Threa转载 2021-06-02 17:46:55 · 840 阅读 · 0 评论 -
Raspberry pi pico|为Raspberry Pi Pico添加重置按钮(pico烧录程序不再插拔数据线!)
文章目录前言python开发环境C/C++开发环境接线Fritzing图Pico-R3-SDK11-Pinout按钮使用方法前言树莓派pico官方给出的烧录固件的方法有点麻烦:先按住BOOTSEL按钮,将Pico插入计算机,然后将其作为大容量存储卷安装。然后,才能将UF2文件拖放到pico上执行。也就是说,每次上传固件到板上时都要都插拔一次Micro USB数据线然鹅,作为程序员,我们肯定觉得这个方法很笨很麻烦,下面简单介绍一下这个问题的解决办法。python开发环境首先,需要说明的是,如果使用M转载 2021-06-01 18:51:47 · 1475 阅读 · 0 评论 -
ESP8266|RPi pico 通过ESP8266搭建web服务器(树莓派pico通过esp8266联网)
文章目录前言软件准备硬件准备接线C/C++实现代码实验现象Micropython实现代码实验现象参考资料前言Raspberry pi pico官网介绍:https://www.raspberrypi.org/documentation/rp2040/getting-started/#board-specificationsESP8266官网介绍:https://www.espressif.com/zh-hans/products/socs/esp8266软件准备根据树莓派官网的介绍,基于Ras转载 2021-06-01 18:49:40 · 1546 阅读 · 1 评论 -
为什么0x100是256个字节、0x400是1KB、0x800是2KB、0x1000是4KB?
文章目录前言数据单位标准两种标准0x400为什么是1KB大小?回到开始的问题附录1:存储单位之间的换算附录2:常见的16进制地址及其对应容量前言在刚开始学习嵌入式时我们就遇到各种进制之间的换算,十六进制、十进制、八进制、二进制等等,一开始会经常在各种进制之间迷失自我;在深入学习或者做项目或者工作时我们也经常要查看各种芯片的数据手册(datasheet),手册里面一般都是使用十六进制表示各种地址。这时我们就会遇到类似这样的问题:为什么 0x100 是 256Bytes(字节) 大小?0x400转载 2021-06-01 18:47:23 · 8920 阅读 · 1 评论 -
freeRTOS&LVGL|在使用freertos时如何为lvgl配置心跳和任务管理器
文章目录配置lvgl心跳(Tick)配置lvgl任务管理器(Task Handler)LVGL中文手册lvgl需要系统滴答声(心跳)才能知道动画和其他任务的经过时间,所以我们必须要配置好lvgl的心跳。要处理lvgl的任务我们需要定期调用 lv_task_handler(任务管理器),及时我们没有使用到lvgl的任务也需要配置好lvgl的任务管理器,因为lvgl库本身就用到了任务管理器,除非我们对lvgl进行了精简裁剪,否则默认情况下都需要配置好任务管理器。配置lvgl心跳(Tick)参考lvgl中转载 2021-06-01 18:45:24 · 6759 阅读 · 7 评论 -
ESP32|基于ESP32制作的低成本、可拓展性高的NES游戏机(1)(开源ESP32 NES模拟器)-效果演示及介绍
文章目录前言需求分析硬件选择硬件概览ESP32 NES模拟器效果图项目介绍源码、硬件获取视频教程待续。。。 ESP32|爷青回!ESP32(单片机) NES模拟器 前言小时候我们都喜欢玩FC,现在仍有很多人想做出属于自己的游戏机(模拟器),玩上几把小时候最喜欢玩的游戏,而nes模拟器正是不二之选,通过制作模拟器我们能学习到软硬件各方面的知识,可谓是很多程序员走向编程开发道路上不可缺少转载 2021-04-27 12:14:20 · 2958 阅读 · 1 评论