- 博客(22)
- 收藏
- 关注
原创 C语言 字符串输入输出函数、scanf(“%[^\n]“,)可输入空格 、fgets删除换行符
即直到遇到换行符或者指定字符才结束输入,否则默认遇到空格结束输入。可以把字符串数组的第5号元素改为'\0', 即能删除多出的一次换行。下面有讲到通过strcspn函数定位到\n的元素索引位置的函数。字符数组有效字符为6个 并且多输出了一次换行。scanf()把空格字符识别为输入结束。gets() 会把空格字符也存到数组中。匹配除换行符以外的任何字符序列;fgets()会把换行字符\n也会吸收到数组中.fgets()会把换行字符\n也会吸收到数组中.相同:遇到换行符\n输入结束。
2024-12-15 21:07:20
1034
原创 Ubuntu 安装软件被锁:Could not get lock问题解决
这样再运行 sudo apt-get install xxx 便能下载需要的软件了.锁定的文件会阻止 Linux 系统中某些文件或者数据的访问。
2024-12-15 18:14:27
405
原创 VMware虚拟机 Ubuntu没有共享文件夹的问题
在虚拟机的Ubuntu系统中,共享文件目录存放在下面,但是我安装完系统并添加共享文件后发现,在mnt下连/hgfs目录都没有。注意:使用共享文件目录需要已安装VMtools工具。
2024-12-15 18:04:34
1058
1
原创 VMware17版本 命令安装VMtools的方法
若是VMware17版本的虚拟机,虚拟机不再直接提供VMtools的安装包,那么可以通过以下方法来安装VMtools工具。
2024-12-15 17:14:32
1518
1
原创 STM32 DMA直接存储器访问 USART串口DMA发送 F407寄存器
特点:DMA:直接存储器访问用于外设与存储器间以及存储器与存储器之间提高数据传输的一种工具(片上外设)CPU相当于餐厅老板,只需要告诉DMA快递员即可让数据从源地址搬运到目标地址一个DMA有8个数据流,每个数据流有8个通道其DMA外设地址和硬件相连对应的数据流及通道 可以查看 参考手册场景:当搬运大量数据的时候,用DMA搬运可以节省CPU的时间,CPU从而去执行其他程序.仲裁器:DMA总线只能分时复用,因此需要有仲裁器。
2024-10-07 10:30:00
857
原创 STM32 iwdg独立看门狗 F407寄存器
特点:看门狗能检测CPU是否正常运行CPU正常工作,看门狗不产生任何事件CPU不正常工作,看门狗会触发,产生复位程序本质:看门狗本质是一个定时器当计数器计数到0之前,需要重新给看门狗赋值,俗称喂狗;若计数器计数到0,则芯片会产生一次复位。分类:看门狗由分为独立看门狗和窗口看门狗一般常用的是独立看门狗,窗口看门狗很少用到使用:一般使用在程序要求稳定高的产品在非正常情况下导致程序死机,需要重启时钟源:由内部低速时钟LSI。
2024-10-07 10:00:00
687
原创 STM32 RTC实时时钟 F407 寄存器
STM32F1:RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。即在F1系列,RTC的日历部分只有一个32位的寄存器该寄存器直接存放时间戳的值,即:秒数值想要获取其他时间,想要软件来实现。STM32F4:RTC日历部分包含两个32位的寄存器,分为日期寄存器和时间寄存器可直接输出时分秒,星期、月、日、年让我们在软件编程时大大降低了难度。以下是基于F4的RTC内容。
2024-10-07 09:30:00
2736
原创 STM32 SPI通信 F407外设控制器 W25Q64
SPI:串行外部设备接口 --- 通信接口特点:高速同步串行全双工 --- 40MHz场景:存储器 OLED 无线通信 传感器硬件连线:SCL 时钟线 --------------------- 只能由主机提供MOSI 发送线 ---------------------- 主机输出从机输入MISO 接收线 ---------------------- 主机输入从机输出。
2024-10-07 09:00:00
1370
原创 STM32 IIC通信 开漏模式 & AT24C02
I2C通信协议(Inter-Intergrated Circuit)集成内部电路飞利浦公司 双向二线制总线 SCL时钟线&SDA数据线通讯特点:同步 串行 半双工 一主多从寻址方式:每个器件都有唯一地址,器件地址为7位或10位传输速度:400kb/sSTM32中使用IIC通信有两种方法:1.使用STM32片上外设IIC控制器2.通过IO口模拟IIC通信时序。
2024-09-20 21:02:53
1058
原创 STM32 ADC控制器使用 寄存器 F407
当我们需要获取外部的环境信息会用到传感器,如光敏传感器,毒气检测,酒精传感器,雨滴传感器等等。这些传感器都会将外界环境的物理量转化为电压模拟量;我们单片机就需要通过引脚来获取这些模拟量,但是单片机的CPU只能处理数字量,因此要将这些模拟量再转换为数字量,进行数据换算后,得到对应的信息。STM32芯片中就有能将模拟量转换为数字量的外设 ---ADC。
2024-09-18 09:00:00
3466
原创 STM32 定时器 [ 影子寄存器 / 时钟频率 / 重载值 / 定时周期计算 / 使用细节 / PSC - 1 / ARR - 1 / 定时中断代码 / F407 ]
本篇文章将以时序图讲述自己对影子寄存器和分频的理解,以及分频系数&重装值的写入值的说明,计算定时时间的理解,最后还有定时器的一个注意点。
2024-09-07 16:52:06
3140
原创 STM32 预装载功能 影子寄存器
影子寄存器是什么?听起来很高级很神秘的样子其实它的作用很简单,那么下面就是我对影子寄存器的见解以基本定时为例,因为框图最为简单。在预装载功能/影子寄存器这块所有定时器都是相同作用! 定时器中PSC预分频器,ARR自动重载寄存器,CCR捕获比较寄存器都有影子寄存器,而PSC预分频器的影子寄存器是默认开启的。 在编程时对PSC,ARR,CCR写入值,这些直接写入的我称之为预装载寄存器(本体寄存器) 由框图可知它们背后都有个阴影,其实背后是一个寄存器,我们通常称为影子寄
2024-09-04 21:01:06
942
原创 STM32时钟源,STM32系统时钟,STM32定时器时钟(F407)
主要阐述本人对STM32时钟和系统时钟以及定时器时钟的见解。本篇文章以stm32f407为例,其他芯片都是类似的。
2024-09-04 20:25:48
1060
原创 STM32 NVIC优先级寄存器的说明
设置具体的抢占优先级和响应优先级别值,参数1是分组值,参数2是抢占优先级值,参数3是响应优先级值。设置总的优先级分组寄存器 --- 所有中断源优先级设置寄存器都会以此分组配置。作用,文章末尾也会总结内核函数配置中断优先级的方法。将计算出来的优先级编码值,与具体某个中断源联系起来。据优先级分组函数可见,底层还是配置该寄存器的位值。来配置中断优先级的方法在之前的文章有提及过。通过该位段就可以设置不同的优先级分组。NVIC控制的中断优先级分组是。底层就是配置8位的优先级寄存器。管里中断源优先级分组设置。
2024-08-27 20:50:32
650
原创 CH340C芯片 串口通信
可以将USB电平信号转换为USB信号。可以将串口电平信号转换为USB信号。中的一款芯片,属于USB转串口芯片。这种芯片的主要功能是。这样就可以电脑端通过CH340芯片与开发板内核芯片通信了。在STM32中,配置UART串口通信其。电脑通过CH340驱动发出CH340芯片能够识别的信号。相连,一般我们使用跳线帽相连。是一种芯片,具体来说,它是。就需要与CH340C芯片的。CH340C说白了就是。
2024-08-23 16:25:34
1590
原创 STM32F4/M4 波特率寄存器 计数公式
STM32中,USART控制器中的波特率寄存器是可以写入分频数(USARTDIV)小数部分的因此能够更精准地得到我们想要的波特率。
2024-08-22 20:57:10
942
原创 STM32F4寄存器法配置IO口与片上外设的映射关系
将IO管脚的模式寄存器配置为复用功能在此就不多赘述;我们需要确定的是低位复用寄存器和高位复用寄存器低位复用寄存器管理的是端口的0~7号管脚高位复用寄存器管理的是端口的8~15号管脚从表中可以看出每4bit控制一个管脚的片上外设映射关系配置。
2024-08-10 15:57:23
619
原创 IO口与外部中断线的映射关系 --- SYSCFG控制器 --- 寄存器法配置外部中断 --- STM32F4
当我们需要使用寄存器法配置IO口的外部中断时,需要开启IO口与外部中断线的映射关系才能正常实现外部中断的效果。SYSCFG系统配置控制器主要用于管理对可执行代码的存储区域的地址重映射、选择以太网 PHY 接口以及。当我们配置PA0作为EXTI0外部中断时,就需要配置SYSCFG->EXTICR1寄存器来实现映射。因此在使用它时,需要打开时钟 --- 挂载在APB2总线。SYSCFG是系统配置控制器,是一个片上外设。
2024-08-07 20:41:10
517
原创 STM32用系统滴答定时器作延时/定时中断
①作为系统时钟节拍器:给实时操作系统提供时基来实现任务调度(FreeRTOS,UCOSII等)1.系统滴答定时器有两个时钟源选择:外部时钟源(21MHz),内核时钟源(168MHz)选择21MHz时钟频率,相当于1us计数21次,1ms计数21K次,1s计数21M次。系统嘀嗒定时器是一个24位递减定时器 其计数范围:0~16777215。3.对SysTick->VAL进行写操作即可清除当前计数值。若设置1ms周期定时中断,1000 = ARR / 21;②作为普通的定时器使用:延时和定时中断。
2024-08-07 19:53:11
1549
3
原创 基于ARM中断体系的STM32中断NVIC优先级管理机制
STM32的中断体系非常强大,每个片上外设都可以产生中断。因此在掌握GPIO普通输入输出的基础上,想要学习其他外设的使用,必然离不开中断的理论知识。本文以F407芯片为例,系统异常有10个,外部中断有82个 --- 详细请查看《STM32F4xx中文查看手册》第10章10.1.3的中断向量表。由PRIGROUP[10:8] 3位决定7个优先级分组,来将PRI_N[7:0] 8位抢占优先级区(x)和响应优先级区(y).
2024-08-06 19:26:01
1131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人