自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 nuttx启动过程

1.前言本文以stm32f4discovery开发板为例子,分析nuttx的启动过程。nuttx软件版本:10.2.0硬件:stm32f4discovery开发板nuttx启动过程分析参考文章:1.nuttx在STM32F767平台上的启动过程分析 2.nuttx启动过程分析 3. nuttx应用启...

2022-05-24 11:09:13 767

原创 串口、COM口、UART口, TTL、RS-232、RS-485的区别

1.区别首先串口、COM口、UART口一般指的是硬件接口。而TTL、RS-232、RS-485则是逻辑电平0和1的不同表示标准,它们区别如下:标准逻辑电平0逻辑电平1是否全双工抗干扰能力TTL输出低电平<0.4V, 输入低电平<=0.8V输出高电平>2.4V,输入高电平>=2.0V全双工差RS232+3~+15V-3~-15V全双工强RS485+2V~+6V- 6V~- 2V半双工很强1)和RS232相比,由于

2022-03-06 21:38:02 14817

原创 stm32f4discovery开发板无法连接ST-Link

1.nuttx工程下载到板子上后再也无法用cubeprogramer下载代码?将nuttx的nsh工程代码下载到板子上之后,板子无法再烧写程序,产生这个问题的原因是代码中有部分程序配置了PA13, PA14这两个引脚。解决办法是,打开keil,进行如下配置,重新烧录任意一个stm32官方给的工程示例代码。1)将connect改成under reset;2) 将Flash Download中改成Erase Full Chip;这样下载过一次之后,就可以继续用cubeprogrammer下载nutt

2022-03-06 14:57:20 2727 1

原创 2.Linux下程序代码的编译

一.编译工具1.GCC简介   Linux下编译C代码使用的是gcc,GCC(GNU Compiler Collection)是由 GNU这个组织 开发的编程语言编译器,最开始叫GNU C Compiler,只支持编译C语言,后面渐渐开始支持编译C++,Java等语言,因此改叫GNU Compiler Collection,缩写还是GCC。C语言的GCC由下面三部分组成:1)gcc-core:gcc编译器,可以将源码编译成可执行程序2)Binutils:除gcc-core之外的小工具的合集,里面包

2021-11-22 18:14:04 2490

原创 1.linux基础学习

一.目录1.和Windows对比/home/A ⇒\Rightarrow⇒ C:\Users\A/home/B ⇒\Rightarrow⇒ C:\Users\B/home/C ⇒\Rightarrow⇒ C:\Users\C其中A, B, C均是用户名Linux根目录(/) ⇒\Rightarrow⇒ C:\Windows , 保持的是系统核心文件{/bin:存放普通用户可以执行的命令/sbin:存放管理才能执行的命令 \left\{\begin{aligned}& /

2021-11-21 23:35:46 344

原创 为什么HAL库中加入RTOS后,HAL库不能再使用systick作为时钟源?

​HAL 库驱动中,由于某些外设的驱动需要使用超时判断(比如 I2C、 SPI、 SDIO 等),需要精确延时(精度为 1ms),使用的是 SysTick,但是在操作系统里面,我们需要使用 SysTick 来提供系统时基, 那么就冲突了。HAL库的时钟源主要用于HAL_Delay()这个函数,这个函数用于实现延时以及上面说的外设驱动的超时判断。这个函数主要是靠不断读取SysTick计数器的值来实现延迟。但是加入了RTOS之后,RTOS强制将systick的中断设置为最低,假设在一个中断优先级比systi

2021-08-21 19:59:06 2673 2

原创 thinkpad x13安装Windows 10 + Ubuntu 20.04双系统

thinkpad x13安装Windows 10 + Ubuntu 20.04双系统下载系统并制作系统U盘安装系统软件安装下载系统并制作系统U盘1.推荐从华为云开源镜像站下载系统然后到20.04最新版本目录便可以将系统的.iso文件下载下来2.制作Ubuntu系统U盘推荐使用rufus工具,这个是Ubuntu官方推荐的工具.安装系统1.当然,必须先安装好Windows系统。然后进入Windows系统,将硬盘压缩出一个130G的空间用来装Ubuntu。2.关闭Windows 10的快速启动功

2021-05-14 00:05:42 5757

原创 实体机安装Ubuntu及配置

安装双系统如果要安装双系统,建议使用两块硬盘,一块安装Windows,另外一块安装Ubuntu。安装的时候,先拔掉另外一块,安装好Windows后,把装有Windows系统的这块硬盘拔掉,然后插上另外一块硬盘,安装Ubuntu。安装好后两块硬盘都插上,以后要用哪个系统,直接从BIOS启动项里面选就好了。安装后的一些配置1.切换软件源打开software&updates,然后将软件源修改成阿里云的源。实测阿里云的源无聊在什么时候,贷款都是最大的,速度很快。其它的源延迟虽然可能会比较好,但是带宽

2021-02-28 16:59:31 1009

原创 linux如何将网卡的名称改成wlan0

现象描述和解决方案当我们执行ifconfig命令来查看无线网卡的时候,发现无线网卡的名称不是wlan0,而是类似于wlx23747cdd23这种很长的名字,如下图所示:要向让无线网卡名称变回wlan0,其实很简单,首先执行如下命令,将80-net-setup-link.rules文件从/lib/udev/rules.d/目录复制到 /etc/udev/rules.d/ 目录下:cp /lib/udev/rules.d/80-net-setup-link.rules /etc/udev/rule

2021-01-24 01:50:55 4113 1

原创 没踩过的STM32 HAL库的那些坑

一.前言STM32 hal库很好用,但是也有一些坑,这里把网上网友遇到的各种坑预先记录一下,方便自己和各位小伙伴避避坑。二.那些没踩过的坑1.无法使用CMSIS-DAP下载器或者JTAG下载器给单片机烧录程序产生这个原因是因为STM32 cubeMX生成的工程里默认没有配置DAT下载器或者JTAG下载器所使用到的SWDIO引脚和SWCLK引脚,因此造成无法下载程序,解决办法也很简单,在使用...

2020-05-02 17:48:47 7619 3

原创 Ubuntu常用命令

前言本文旨在介绍一些Ubuntu下常用的命令,方便大家查阅。介绍的命令均在Ubuntu 18.04上测试过。正文1.安装.deb软件包命令Ubuntu安装.deb软件包一般用下面的命令:sudo dpkg -i 软件包名称.deb但是使用上面的命令来安装.deb软件包一般会有一个问题,那就是如果安装的软件包需要的依赖系统上没有,那么还必须使用下面的命令来解决依赖问题,执行下面的命令便...

2020-03-09 15:36:43 832

原创 2.2 单链表常见问题

1.带头链表和不带头链表的区别  所谓的带头链表就是在第一个有效节点(首元节点)之前增加多一个头节点的链表,多出的这个头节点也叫做哨兵节点。哨兵节点和链表中的其它节点的区别是其数据域一般不存储数据或者只存储链表长度等信息。加入哨兵节点的目的是为了让链表第一个有效节点和最后一个有效节点的插入和删除操作和其它的节点一样。  如下图所示,头结点也就是我们的哨兵节点。其数据域一般不存放数据,指针域指向...

2020-03-03 00:03:08 547

原创 2.1单链表

前言和数组一样,链表是一个线性的数据结构。不同的是,数组需要一段连续的内存来存放数据,而链表的数据不需要连续的内存来存放,链表可以通过指针将一组零散的内存连接起来用来存放数据,这些零散的内存就对应链表上的节点。为什么需要链表?数组相比于链表,有如下缺点:因为数组的大小是固定的。一经声明便会占据整块连续的内存。因此必须事先知道需要多少内存。如果分配内存过大,可能会造成浪费和内存不足。如果分...

2020-03-02 21:09:48 170

原创 3.STM32常用资源介绍

声明本文大部分内容转载自武汉安富莱电子有限公司的《安富莱 STM32-V5 开发板用户手册》的1.4小节。感谢安富莱提供这么好的开发教程。安富莱的论坛上也有很多有关单片机方面的有用的资料,大家可以参考。本文不仅适用于STM32芯片的开发,也适用于其它芯片。正文学习一款新的芯片,需要大家从官方获取两方面的资料,一个是相关的技术文档,比如参数手册、数据手册、应用笔记等;另一个是软件包,官方在...

2020-02-17 23:38:38 1755

原创 2.使用hal库点亮LED灯

1. 开发环境开发板:NUCLEO L152(ST官方提供的STM32L152RE开发板)开发环境:STM32CubeMX 5.5.0 + Keil MDK 5.28注意,ST官方的这块开发板这块开发板有两个坑:1)没有焊接外部晶振。如果要使用更稳定的外部晶振作为时钟源,需要先把缺的C22、C25、C26、C33、C34这几个电容以及C29这个电容旁边缺的那两个零Ω电阻补焊上。最后再补焊上...

2020-02-16 16:49:37 1921

原创 1.hal库介绍及开发软件安装

1.什么是hal库  hal库是ST公司针对STM32单片机推出的全新开发库,旨在取代原来用于开发STM32的标准库。相比于原来的标准库,hal库具有如下优点:1)hal库开发提供了图形化配置界面,使得外设初始化变得更加简单明了且不容易出错。只需要在图形界面动鼠标点几下,输入几个参数,就可以生成一个点亮LED灯的keil工程或者IAR工程。2)hal库提供了更高抽象层次的API,因此可移植性...

2020-02-15 21:15:11 9393

原创 Linux的xorg、显示管理器和窗口管理器以及桌面环境之间的关系

   linux图像显示采用的是X Window system(也可以叫做X11或者直接叫X)这套协议,我们平时经常见到的X就是指的这套协议。这套协议里面规定的架构是C/S架构,即客服端/服务器架构。客服端是x client,服务端是x server。架构如下图所示(图片来自wiki百科):   服务端(x server)负责管理键盘、鼠标、显卡、显示器等输入输出设备。服务端接收客户端的请求和...

2020-02-11 23:10:51 4359

原创 Arch Linux 新手安装教程

前言安装环境:1) vmware workstations pro 15.5.12) arch linux 2020.02.01本文的目的旨在降低新手安装arch linux的难度。本文采用VMware workstation虚拟机来安装arch linux,这样大家可以采用虚拟机进行安装。同样的,本文也适用于实体机安装。虚拟机安装arch linux和实体机安装arch linux步骤...

2020-02-10 16:57:40 4929 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除