logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

嵌入式C语言基础链表

什么是链表?链表其实就是一种数据结构,所谓的数据结构就是数据存放的思想。数组、链表优缺点:增加一个元素或者删除一个元素都很难,因为地址是连续的,删除一个元素可能会挪动多个元素,不灵活。但是对于链表来说就很轻松了,链表的每一个节点都是一个结构体,可以通过指针指向的方式将链表串起来,很灵活。...

#链表
STM32F103ZET6 蜂鸣器、按键

蜂鸣器的硬件电路:蜂鸣器实验步骤:

#stm32
STM32F1 端口复用、端口(部分和完全)重映射

端口复用功能STM32 有很多的内置外设(比如:串口、ADC、DAC等是独立的模块和内核连接在一起),这些外设的外部引脚都是与 GPIO 复用的。也就是说,一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。大家都知道,MCU 都有串口,STM32 有好几个串口。比如说 STM32F103ZET6 有 5 个串口,我们可以查手册知道,串口 1

IIC总线通讯协议、EEPROM芯片

**EEPROM芯片:**掉电不会丢失数据,可以保存数据。IIC串行总线的组成及工作原理:

#单片机
STM32 定时器中断

通用定时器工作过程:

vim模式下报错E37: No write since last change No write since last change for buffer “ “

报错如下图所示:网上的解决方法:文件为只读文件,无法修改。使用命令:w!强制存盘即可在vim模式下,键入以下命令::w!存盘后在使用vim命令检查是否保存,如未保存,编辑后重复以上操作。或者报出linux中vi保存文件时的“Can’t open file for writing”E212: Can’t open file for writingPress ENTER or type command

#vim#linux#windows
libcurl库的安装和使用

libcurl简介:libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。libcurl的官网 、库下载。这种库使用的时候就像使用wiringP

#http
线程条件控制实现线程的同步

与条件变量相关API        条件变量是线程另一可用的同步机制。条件变量给多个线程提供了一个会合的场所。条件变量与互斥量一起使用时,允许线程以无竞争的方式等待特定的条件发生。        条件本身是由互斥量保护的。线程在改变条件状态前必须首先锁住互斥量

WiFi避障小车

硬件清单:Wemos D1(支持AP模式也就是路由模式和STA模式也就是上网设备)、超声波模块、小车、L9110s步进电机控制器软件:eclipse、arduino IDEWiFi配置参考博文ESP8266WiFi库:从上图中可以看出ESP8266WiFi库主要包含Station、Soft AP、config、WiFiClient、WiFiServer、scan、hostname,本节主要介绍St

线程同步之互斥量加锁解锁 死锁

与互斥锁相关API      互斥量(mutex)从本质上来说是一把锁,在访问共享资源前对互斥量进行加锁,在访问完成后释放互斥量上的锁。对互斥量进行加锁后,任何其他试图再次对互斥量加锁的线程将会被阻塞直到当前线程释放该互斥锁。如果释放互斥锁时有多个线程阻塞,所有在该互斥锁上的阻塞线程都会变成可运行状态,第一个变为可运行状态的线程可以对互斥

    共 12 条
  • 1
  • 2
  • 请选择