- 博客(90)
- 收藏
- 关注
原创 Simulink中Signal Builder在新版中找不到怎么办
在较新的MATLAB版本中,新版Simulink中的Signal Builder用Signal Editor作为替代工具。signal builder not shown in matlab - MATLAB Answers - MATLAB CentralsignalBuilderToSignalEditor
2025-04-09 21:14:16
98
转载 NTC温度传感器的B值代表什么参数?(附查表法代码)
10K NTC B25/100 = 3455,计算其100℃的阻值。•有了这个公式,就可以不用查表法(NTC分度表)来计算温度了。(话虽如此,但是查表法+插补算法是最准的)随着计算点的增多,这条R-T曲线就越发真实。当我们描述一个NTC温度传感器的时候,
2025-03-26 10:29:33
109
原创 单片机串口打印调试信息②
在STM32开发中,使用串口(UART)打印调试信息是调试嵌入式程序的核心手段。通过结合STM32 HAL库的灵活性和串口调试的直观性,可快速定位大部分嵌入式系统中的逻辑错误和硬件配置问题。:以STM32F4系列为例,选择任意UART接口(如USART1/UART2)。→ 在怀疑出问题的代码区域插入日志 → 使用串口助手观察输出。// 注意:需避免在DMA传输中修改发送缓冲区。// 在CubeMX中启用UART TX DMA。// 重定向C库的printf到UART。启用UART外设(如USART2)。
2025-03-24 18:58:24
821
原创 单片机串口打印调试信息①
在单片机开发中,通过串口(UART)输出调试信息是最常用的调试方法之一。:使用串口助手(如PuTTY、SecureCRT或Arduino IDE串口监视器)。:连接单片机的UART引脚(TX/RX)到电脑,注意电平匹配(3.3V或5V)。确认时钟配置(如STM32的APB1/APB2总线时钟是否使能UART)。// 直接发送字符到调试器。使用非阻塞发送(如HAL_UART_Transmit_IT)。// 初始化UART2(PA2-TX,PA3-RX):8位数据位、1位停止位、无校验位(8N1)。
2025-03-24 18:56:11
717
转载 Keil调试时设置断点的高级用法
在线调试程序时,打断点是非常有效的一种方式,配合单步调试,可以快速定位问题。但有的时候,手动打断点用起来不是那么方便。比如,想要在一个循环的第N次停下来,如果手动打断点,那就要不停的点击单步运行,直到循环运行到第N次。再比如,程序运行过程中变量不知何时被改变了,又不好定位,手动打断点就不知打在哪里。这时就要用到一些断点的高级用法。
2025-03-24 12:05:38
43
原创 裸机编程的几种模式、架构与缺陷。
大多数嵌入式的初学者都是从单片机裸机编程开始的,对于初学者来说,裸机编程更加直观、简单,代码所见及所得,调试也非常方便,区别于使用操作系统需要先了解大量的操作系统基础知识,调度的基本常识,还需要注意各种资源的共享与竞争等概念,并且调试也没有那么直观等等。裸机编程在一些比较简单的项目上还是具有一定的优势的。接下来我们来看看裸机编程的常见模式和架构。
2024-03-11 11:05:40
1503
原创 栈回溯--在栈里挑出返回地址
GNU Arm Embedded Toolchain project files : GNU Arm Embedded Toolchainarm-none-eabi-addr2line -e F103_Moduel.axf -a -f 08000350 08001d94 0800260c
2023-11-23 14:44:06
689
转载 FreeRTOS学习(六)时间管理
【精选】FreeRTOS学习(六)时间管理_xportsystickhandler_la_fe_的博客-优快云博客
2023-11-16 15:25:12
97
转载 FreeRTOS学习——中断配置与管理
中断是处理器的一个常见特性,由硬件产生,中断产生后CPU就会中断当前流程转去处理中断服务。Cortex-M内核的MCU还挺过来一个用于管理中断的嵌套向量中断控制器 NVIC,它支持多种中断和异常管理。Cortex-M处理器提供了多个管理中断和异常的可编程寄存器,重点需要关注的是3个中断屏蔽寄存器:PRIMASK、FAULTMASK和BASEPRI。临界区,就是必须完整运行、不能被打断的代码段。因此就用到了上面接上的开关中断,通过关闭低于阈值优先级的中断来实现。。中断配置可以使FreeRTOS。
2023-11-16 15:18:50
928
1
原创 【电路】MOS管开关电路
MOS管也就是常说的场效应管(FET),有结型场效应管、绝缘栅型场效应管(又分为增强型和耗尽型场效应管)。也可以只分成两类P沟道和N沟道。场效应管的作用主要有信号的转换、控制电路的通断,这里我们讲解的是MOS管作为开关管的使用。对于MOS管的选型,注意4个参数:漏源电压(D、S两端承受的电压)、工作电流(经过MOS管的电路)、开启电压(让MOS管导通的G、S电压)、工作频率(最大的开关频率)。下面我们看一下MOS管的引脚,如下图所示:有3个引脚,分别为G(栅极)、S(源极)、D(漏极)。
2023-11-15 19:12:28
4184
原创 【STM32/FreeRTOS】SysTick定时器及FreeRTOS系统节拍
SysTick共有4个相关寄存器,通常只用到3个(校准寄存器少用)。寄存器名称寄存器描述CTRLSysTick控制及状态寄存器LOADSysTick重装载数值寄存器VALSysTick当前数值寄存器CALIBSysTick校准数值寄存器。
2023-11-14 22:09:28
2445
原创 搜集的升压芯片资料
它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。DC-DC升压芯片,输入电压0.65v/1.5v/1.8v/2v/2.5v/2.7v/3v/3.3v/3.6v/5v/12v/24v航誉微。它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。
2023-11-13 11:18:57
284
转载 TPS61088RHLR升压芯片
输入电压范围:2.7V-12V输出电压范围:4.5V-12.6V效率高达91%(VIN= 3.3V、VOUT= 9V且IOUT=3A时)PWM模式下的开关频率可在200kHz至2.2 MHz之间10A开关电流。
2023-11-13 11:06:22
1032
1
原创 常用的一些LDO芯片及使用&稳定的LDO芯片推荐
LDO也是电赛中常用的电源模块。相比DCDC以及稳压器,LDO的跌落电压更小,因此两者适用场合不同。
2023-11-13 10:48:10
6321
原创 keil仿真错误:*** error 65: access violation at 0x40021000 : no ‘write‘ permission
按下图打开:进行修改:我用的芯片是:STM32F103C8T6开始仿真:成功解决不能仿真问题
2023-11-11 19:34:36
1356
2
原创 【Github】git clone命令下载文件中途停止
使用git clone命令下载github上的源代码时,有时文件下载到一定百分比时就停止不动, 这是因为我们所下载的文件很大,超过了git预先分配的Postbuffer容量,所以一直卡在那里。我们可以根据所下载文件的容量来设置Postbuffer的数值。
2023-11-11 13:04:17
2520
3
转载 ARM架构过程调用标准AAPCS
返回值通过R0传递。的下一条语句的地址是0x8000536,进入sum子函数后,这个地址被保存到了LR中(第二张图),LR的实际保存的是0x8000537,这是因为LR最低位置1表示是thumb状态。3、链接寄存器LR用于函数或子程序调用时返回地址的保存,若某函数需要调用另外一个函数或子程序,则它需要首先将LR的数值保存到栈中,否则,当执行了函数调用后,LR的当前值就会丢失。1、r0,r1在接下来wuyong函数中需要拿来传递两个参数,所以用r3,r4来保存了原先R0和R1的值,R5保存了局部变量e的值。
2023-11-09 19:46:20
408
原创 UART编程(寄存器)
需要设置GPIOA的寄存器,选择引脚功能:所以要使能GPIOA模块。各类芯片的UART框图都是类似的,当设置好UART后,程序读写数据寄存器就可以接收、发送数据了。从上图可以知道,PA9、PA10有三种功能:GPIO、USART1、TIMER1。上图中的USART1_RX、USART1_TX,接到了PA9、PA10。肯定有一个数据寄存器,程序读取这个寄存器,就可以获得先前接收到的数据。比如数据位设置为8,无校验位,停止位设置为1。肯定有一个数据寄存器,程序把数据写入,即刻通过串口向外发送数据。
2023-11-09 14:19:14
698
原创 FreeRTOS学习笔记——SysTick中断
SysTick是由STM32内核提供的,时钟源可选,用于产生FreeRTOS所需要的系统时钟,且是由用户可配的,用户在FreeRTOSConfig.h文件中配置configCPU_CLOCK_HZ以及configTICK_RATE_HZ两个宏来设置系统时钟,产生时间片时间,系统每隔固定时间进入SysTick中断处理时间。配置的是portNVIC_SYSTICK_LOAD和portNVIC_SYSTICK_CTRL两个寄存器,有关SYSTICK寄存器的说明可以在armv6-m体系结构参考手册中查看。
2023-11-08 21:18:52
721
原创 ARM寄存器及功能介绍/R0-R15寄存器
r15 用作程序计数器(pc),由于 ARM 采用了流水线机制,当正确读取了 PC 的值后,该值为当前指令地址加 8 个字节,即 PC 指向当前指令的下两条指令地址。模式(FIQ),普通中断模式(IRQ),管理模式(Svc),数据访问中止模式(Abort),未定义指令中止模式(Und),系统模式(Sys),V:对于加减法指令,在操作数和结果是有符号的整数时,如果发生溢出,则V=1;CPSR和SPSR都是程序状态寄存器,其中SPSR是用来保存中断前的CPSR中的值,以便在中断返回之后恢复处理器程序状态。
2023-11-08 20:45:00
3906
原创 编程知识\_C与汇编深入分析
在arm中有个ATPCS规则(ARM-THUMB procedure call standard(ARM-Thumb过程调用标准)。跳转:CPU从0x08000004得到地址值,根据它的BIT0切换为ARM状态或Thumb状态,然后跳转。对于cortex M3/M4,它只支持Thumb状态,所以0x08000004上的值bit0必定是1。设置栈:CPU会从0x08000000读取值,用来设置SP(我们的程序里再次设置了SP)函数可能被使用,所以在函数的入口保存它们,在函数的出口恢复它们。
2023-11-08 20:23:23
649
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人