![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机
pangyinglong
这个作者很懒,什么都没留下…
展开
-
STM32移植DSP编译出现 “q31_t is no a type name”错误解决
感谢此文--《(172条消息) STM32移植DSP库_mzldxf的博客-CSDN博客》作者在文章最后给我提醒。错误原因:错误原因:DSP头文件arm_math.h中定义的一些类型和core_cm7.h版本不符合解决方法:使用Keil软件安装中自带的头文件替代现有工程的头文件(这些文件是底层代码头文件,不用修改)...原创 2021-10-29 17:01:37 · 1244 阅读 · 0 评论 -
CMSIS-DSP的arm_mat_init_f32矩阵求逆函数结果不对问题解决方法
CMSIS-DSP库是ARM提供的一个用于STM32工程实现矩阵计算的C语言函数库。arm_mat_init_f32函数求矩阵的逆会出现问题的原因与库函数中生成矩阵的方式有关。矩阵的生成并不会申请新的内存空间,arm_mat_init_f32函数只是将已经存在的一个矩阵内存通过库中定义的一个struct结构体连接起来,结构体中有一个指向矩阵内存空间的指针,只是一个指针而已。所以调用arm_mat_init_f32的结果就是对源矩阵进行运算,运算的结果存储在另一个目的矩阵的内存空间中。因为这样,所以需原创 2021-08-19 13:22:45 · 1463 阅读 · 0 评论 -
解决KEIL MDK中JLINK烧录代码时提示the connected jlink is defective问题
1、问题分析网上有许多分析这个问题的博客,可以去参考2、解决方法a.在segger.com的官网下载了6.5版本的jlink驱动文件,安装后C:/program file(x86)/Segger目录下。b.进入文件并找到Jlink.exe和对应的dll库文件,复制文件到KEIL MDK的安装目录下,替换原本存在的文件。c.删除keil工程下关于Jlink的配置文件,重新在KEIL中配置Jlink,下载代码就不会有题目中问题的发生。...原创 2021-08-19 11:18:17 · 2107 阅读 · 0 评论 -
STM32H743基于HAL库实现串口中断发送+DMA空闲中断接收
输出:system.out对象输入:system.inscanner接收控制台输入;Scanner(system.in);使用nextInt();nextDouble();单目+ -、赋值:右到左原创 2021-07-15 16:07:00 · 4496 阅读 · 3 评论 -
对DMA请求如何产生的理解
DMA作为中间部分,连接了存储器和外设,实现数据的传输。数据可以传输从存储器传输到外设,也可以由外设的数据寄存器传输到存储器。A、那么,DMA控制器是什么时候知道需要进行数据传输呢?这个信号是DMA请求信号,该信号的产生是外设完成一件事件后发出或者外设的状态已经准备好发出。总的来说,DMA信号的产生来自于外设的相关寄存器,与数据传输有关的寄存器,它们保存着外设...原创 2020-04-07 21:52:37 · 8680 阅读 · 0 评论 -
使用AD软件绘制PCB的过程
A、首先创建一个PCB工程,一个PCB工程包含有原理图和PCB图。原理图:指的就是电路上各个元器件的电气连接的图,它代表我们设计的电路的原理。PCB图:将原理图通过AD软件转换为具体的元器件相间的电路连接排布的图,是最后设计出实物的样子。B、在绘制PCB板子过程中,会遇到两种情况:1、所需元器件都有对应的原理图和PCB封装库2、缺少相应的元器件和PCB封装库1)对于...原创 2020-04-06 21:18:40 · 4255 阅读 · 0 评论 -
编码器的工作原理(旋转编码器)
百度百科:旋转编码器是用来测量转速并配合PWM技术可以实现快速调速的装置,光电式旋转编码器通过光电转换,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出(REP)。分为单路输出和双路输出两种。技术参数主要有每转脉冲数(几十个到几千个都有),和供电电压等。单路输出是指旋转编码器的输出是一组脉冲,而双路输出的旋转编码器输出两组A/B相位差90度的脉冲,通过这两组脉冲不仅可以测量...原创 2019-12-08 21:11:17 · 7170 阅读 · 0 评论 -
基于stc12c5a60s2单片机理解PCA(可编程计数器阵列)
相关寄存器1、CMOD PCA模式寄存器CIDL:控制PCA在单片机休眠是是否还继续工作 CPS2-CPS0:选择时钟 ECF:中断控制位2、CCONPCA控制寄存器CF:计数器溢出标志 CR:计数器运行控制器 CCF1:PCA模式1中断标志位 CCF0:PCA模式0中断标志位3、CCAPM0捕捉、比较模式控制器ECOM0:使能比较器控制位 CAPP0:...原创 2019-12-03 22:15:12 · 2832 阅读 · 0 评论 -
单片机定时器中断后计数器和中断再进入
1、单片机定时器中断后计数器是否还会计数解决:单片机定时器中断后计数器还是会计数的,如果重新赋值,会按照设置的时间进行计时。如果没有,则从0开始。2、单片机在执行定时器中断时,是否在没执行当前中断情况再次执行定时器中断(中断嵌套?)解决:中断在执行时,如果又有一个中断产生,将不会进入中断函数,知道当前中断执行结束后,才允许下一个新的中断进入。总结:定时器中断在执行中断过程中,计数器...原创 2019-12-03 12:41:05 · 4765 阅读 · 0 评论 -
51单片机中data、idata、xdata、pdata数据存储控制关键字之间区别
dataThe data memory type may be used to declare variables only. You may not declare data functions. This memory is directly accessed using 8-bit addresses and is the on-chip RAM of the 8051. It has ...原创 2019-11-01 20:59:31 · 1276 阅读 · 0 评论 -
C51单片机中的? STACK之类组合的疑问
单片机编程中总会有一段代码用于初始化,构建单片机运行c语言代码的环境。LJMP ?C_START上面的?C_START是一个名字而已,只不过是?号开头为什么命名会是?开头呢这是C51汇编代码的规定,不同段的名字使?与不同的名字匹配,可以区分名字处于段的位置类型。上面表格内容参考链接为:http://www.keil.com/support/man/docs/c5...原创 2019-10-28 00:12:51 · 401 阅读 · 0 评论 -
Keil生成bin文件的配置
准备知识:axf文件是ARM芯片使用的文件格式,它除了包含bin代码外,还包括了输出给调试器的调试信息,例如每行C语言所对应的源文件行号等根据上面的知识,可以得到51单片机是没有axf文件的。Keil生成bin的配置fromelf.exe --bin -o "$L@L.bin" "$L@L.axf"fromelf.exe可执行文件负责把axf文件生成bin文件$...原创 2019-10-27 14:11:08 · 724 阅读 · 0 评论 -
51单片机编程之中断函数using关键字的作用
注:本文参考自https://blog.csdn.net/q2631837575/article/details/7877656751在上电后,PSW的RS两个位默认为0,也即51默认使用工作寄存器组BANK 0,在默认状态下,对于普通的C语言函数,其传参、申请局部变量、导出函数的返回值等功能,keil将其翻译成汇编以后,肯定要使用R0~R7;对于51的中断服务函数,它没有形参,也不用返回值,...原创 2019-07-09 13:50:35 · 5042 阅读 · 0 评论