08 2020 档案
摘要:“一切皆文件” “一切皆文件”是Linux文件系统的核心思想,所谓一切皆文件,就是Linux系统将所有的内容都通过文件来保存与管理。无论是传统的数据文件,还是硬件设备,网络套接口,Linux都把它们当作文件来处理。这种文件方法可能对用户来说很麻烦,但却给开发者提供了一个统一的操作文件与设备的方法,提
阅读全文
摘要:观察荔枝派,可以看到它引出了两排GPIO口,通常情况下,我们需要操作寄存器来控制GPIO,但是荔枝派官方(或者是全志官方?)提供的系统中已经带有了GPIO的操作文件,我们可以直接使用。 直接控制: 首先我们将官方提供的Naon_pub_V4镜像下载到TF卡中,这里我选择了480*272的dd版本。
阅读全文
摘要:开箱: 最近对一些小巧的卡片机很感兴趣,于是买了一个荔枝派Nano来尝尝鲜。 到货,开箱! 首先是一个Nano的小盒子,里面有一个MicroUSB的OTG头,一块小巧的主板和两排排针。 观察一下主板,其上集成的东西确实不少,一块全志F1C100S的SOC(ARM9内核),一块16M的SPI Flas
阅读全文
摘要:消息队列 在了解消息队列之前,先复习下数据结构的知识:队列,插入和删除受到限制的一种特殊线性表,只允许在后端进行插入操作,在前端进行删除。 消息队列是RTT系统中常用的一种通信结构,线程可以从队列中读取消息,如果队列中没有消息,则挂起线程。它是一种异步通信的方式。 由于队列结构的特殊性,线程最先得到
阅读全文
摘要:由通信提出的问题 在裸机编程的过程中,我们经常会遇到函数需要另一些函数的数据信息,也就是通信,这时我们会怎么做呢?进行裸机开发的同学肯定都会说:使用全局变量,通过指针实现之类。使用全局变量快捷且高效。 但是在RTOS系统中,这会遇到一些问题:怎样防止许多线程同时进行对这个变量的访问?怎样观测通信是否
阅读全文
摘要:MPU6050: MPU6050是一个六轴的运动传感器,其中三个轴为陀螺仪传感器,读取到的物理数值是角速度,方向分别为绕x轴,绕y轴,绕z轴。另外三个轴为加速度传感器,方向为沿x,y,z轴。 硬件连接: 手上正好有片廉价货色,来看看它的构造 从图中我们看到有8个接口,其中,会用到的接口有VCC(3.
阅读全文
摘要:开始: 首先,我们使用VMware创建一个新的虚拟机系统 (选择镜像,镜像需自主下载) 之后根据安装指导,自主选择参数,得到一个虚拟机系统 注意,在这里,我们的网络适配器模式可以更改为三种模式:桥接模式(bridged)NAT模式(网络地址转换)和主机模式(host-only)模式。 桥接模式:此模
阅读全文
摘要:冒泡排序: 冒泡排序是经典排序算法之一,时间复杂度为O(n2),基本原理如下列程序注释: python实现: # 冒泡排序 # 一次比较两个元素,重复走访 # 数列中最大的数会在多次比较后直接挪到最后,下次比较时不参与 # 因为越小的元素会慢慢'浮'到数列顶端,所以叫做冒泡排序 # 例程 def b
阅读全文
摘要:线程与线程就绪列表: 在RTT系统中,链表是一个相当重要的数据结构,RTT通过链表,来管理一些事物,例如说线程。 在线程控制块中,有一个线程链表节点: rt_list_t tlist; /**< the thread list */ 这个节点可以将线程控制块挂载到一些链表中。在线程创建之后,线程首先
阅读全文
摘要:ESP8266: 本次STM32控制ESP8266使用的ESP芯片版本是ESP8266-01S,主机MCU使用的是STM32F1C8T6。 ESP8266是乐鑫公司的一款WIFI芯片(Soc),并且可以被当作MCU使用。实际上,ESP系列芯片是一款发行量巨大,性价比极高的芯片。 本次我想要实现的功能
阅读全文
摘要:线程?它是啥? 在我们刚开始进入嵌入式软件的编程领域时,每次都会接触到一个函数——main函数,在裸机的编程中,程序的执行流程就是在main函数中进行的,main函数也可以理解为一个线程,它也有它的栈空间来存储变量。但是,如果有许多线程呢,怎样来区分它们?又怎样来分配存储空间? 对于这个问题,RTT
阅读全文
摘要:SPI协议简介: SPI是摩托罗拉公司提出的一种通信协议,运用了全双工的通信方式。其通讯速率可以达到Mbps的数量级,是一种广泛使用,优秀的通信协议。在STM32的开发中,经常被用来进行Flash存储器的通信,也被用作向一些小的液晶屏幕发送数据。 物理层: 在SPI的通信中,信号线有两条,MOSI,
阅读全文
摘要:轮询系统与前后台系统: 在我们学习嵌入式编程的时候,首先接触到的是裸机编程(轮询),裸机编程的实现比较简单,而且其逻辑也非常的清晰,通过观察代码就能大概判断程序的执行流程和作用,但是裸机编程有一个巨大的缺点——实时性太差。例如下列代码(伪): while(1){ ...(程序段一) if(key1=
阅读全文
摘要:目前市面上有一些数码管显示芯片,其中TM1637是比较经典,也是我个人比较喜欢的一款芯片。TM1637是天微电子的一款带按键扫描的8段*6位数码管驱动芯片,本次使用STM32F103C8T6驱动四位数码管。(下图:TM1637功能及管脚,来源TM1637开发手册) I2C驱动: TM1637采用的通
阅读全文
摘要:在嵌入式通信中,我们比较常用的通信方式有USART,I2C,SPI等,这次来简单地总结最经典也最常用的USART通信方式。 串口通信(物理层): 首先是最常见的串口通信,在STM32中,我们使用的串口通信是TTL电平标准,使用2.4-5V表示逻辑1,0-0.5V表示逻辑0(在STM32中,TTL电平
阅读全文

浙公网安备 33010602011771号