自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

原创 VSCODE工具使用技巧一-------打开函数列表

2、资源管理器->大纲。

2023-06-19 14:20:10 991

原创 C 代码实现:计算相关系数

//计算相关系数double Corrcoef(float32_t *A,float32_t *B, u16 Length){ double sumA, sumB, aveA, aveB; u16 i; //求和 sumA=0; for(i=0;i<Length;i++) { sumA+=A[i]; } sumB=0; for(i=0;i<Length;i++) { sumB+=...

2021-06-17 15:14:57 6370 4

转载 ucosII堆栈利用率OSTaskStkChk()函数的使用利用OSTaskCreateExt()创建

描述不少同学都有类似经历吧,在使用ucosii创建任务时,关于任务堆栈大小设为多大合适搞的不清不楚,郁闷之下就随便整个数,比如就1024吧,反正也没见得出问题,那就不多想了。我想大多数同学都是这样做的吧。这样只是因为在一般情况下,1024确实已经足够大了,堆栈溢出的可能性很小而已。那么,如果你任务实际使用率只有很小的百分之几,一旦被你知道了,你会痛心不?我想你不痛心,μC/OS-II也会痛心的,它会觉得这个coder真是浪费啊,哈哈,这其实还好,至少只是太大导致浪费而已,万一小了那可就堆栈溢出.

2021-05-07 11:22:01 1029

原创 基于STM32的SGP30芯片开发例程

给大家讲解以下SGP30这款芯片的开发例程。我们首先看一下芯片手册。我们可以从电气属性看到供电信息。各个引脚的功能图。芯片手册还给出了推荐电路图,这样我们就可以将芯片电路设计出来了。典型的IIC总线,所以直接使用IIC就可以通讯。这里显示了芯片地址0x58,并且说明了每个命令和返回数据都是十六位的数据,并且发送的命令的十六位包含三位CRC校验,接收的数据后面跟了八位的CRC校验。空气质量信号上面第一段这里主要说明了三件事,第一,为了保证补偿计算,这个测量信号要大于1s去发送;第二

2021-01-14 15:04:35 21499 35

原创 关于STM32仿真ITM调试那些事(STM32+JLINK+KEIL)

在刚刚学习的STM32单片机之后,我就想知道是否可以查看单片机内部的运行参数以及运行时间,直到看到鱼鹰的文章后,我了解到了MDK的仿真不止有断点和变量窗口,原来有很多功能。

2020-09-21 09:42:41 1936

原创 关于KEIL软件总是全编译的问题

当你发现keil软件无论怎么编译都是全编译的时候,可能需要去掉如下勾选。点开options for target,即然后先取消勾选 target 里面的use Cross-Module Optimiztion。然后取消勾选output里面的 Create Batch File最后再取消勾选Listing里面的*.lst和*.i再次重新编译试试。...

2020-09-21 08:53:30 1509

原创 关于DXP的规则检查中Un-Rounted Net Constraint问题

关于DXP画板中的设计规则检查,最常见的问题之一就是未连线问题。最近在一次画板中,我明明已经连接好了线,但是莫名其妙的还是出现的未连线的提示如下:然后我经过删除附近的所有连线,终于发现了罪魁祸首。就是这条线。图中的红线就是罪魁祸首,至于他怎么出现了,我还没有找到原因。...

2020-09-18 13:48:06 2665

原创 关于assert_param的那点事

在STM32的库函数版本里面,我们基本在每一个函数中,我们都发现了这个函数assert_param();以GPIO为例: /* Check the parameters */ assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); assert_param(IS_GPIO_PIN(GPIO_InitStruct->GPIO_Pin)); assert_param(IS_GPIO_MODE(GPIO_InitStruct->GPIO_Mode));

2020-09-11 19:11:23 710

原创 Altium Designer的高亮快捷键

网络节点高亮 Ctrl+鼠标左键 高亮亮度调节按钮 [ 亮度加深或 ]亮度变浅布线层高亮 shift + s

2020-09-05 16:07:38 2634

原创 STM32关于Undefined symbol xxx (referred from xxx.o)问题解决

这个问题主要是程序没有找到XXX函数的定义。1、没有将包含该函数的头文件包含进来。2、没有头文件里面声明该函数3、没有将该函数的.C文件加入工程里面。

2020-09-02 15:54:44 31753 2

原创 STM32程序死在HardFault_Handler的分析和解决

最近开发STM32F070F6P6项目,发现程序老是运行不了,仿真发现,程序总是死在HardFault_Handler。程序总是死在第二个初始化函数里面。上网查询资料发现STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。我打开了初始化函数发现初始化引脚造成了程序跑飞。这个单片机只有PA引脚,我初始化PE引脚,造成了程序跑飞,我把引脚改正之后,程序就正常运行了

2020-08-29 15:16:57 3387

转载 浅谈C指针,数组,函数指针

工作中发现很多初入职场的同事不会使用指针,或者惧怕指针。作为C语言老鸟,在这里写一些有利于初学者理解C指针的东西,希望对他们有帮助吧。1.C语言里,指针可以说是地址变量。比如int n;int *p; n是一个变量。它的类型是int;p也是一个变量。可以这么理解:它的类型是(int*); 官方说法是:一个指向int的指针;直白说法是:p这个地址,是按照int的形式保存数据。本质上,p的值是一个内存地址。而(p),也就是对p进行“地址取值”运算,指的是获取p这个内存地址所保存的内容,而怎么去取

2020-08-27 16:24:47 192

原创 从ST网站下载STM32标准库的流程

打开搜索器,搜索ST官方网站,打开。如果英文不是很好,点击更换中文。找到STM32微控制软件,点击打开。找到标准外设软件库点击我们想要的系列,示例以F4为基准。点击获取软件。点击下载 STM32F4...

2020-08-27 09:36:08 445 2

原创 STM32F070库函数的usart配置

延续之前的讲解,我们来配置一下串口。按照惯例,我们还是打开三个资料文件。STM32F0xxx Cortex-M0 英文编程手册.pdfSTM32F070x6xB 英文参考手册.pdfSTM32F070x6xB 英文数据手册.pdf我们首先打开数据手册看一下内核框图。我们可以清楚的看到串口1是通过两个时钟来挂载到CPU的,所以我们调用串口,先要调用这两个时钟才行。我们通过参考手册可以看到AHB和APB,但是我们发现APB有两个时钟为APB2,APB1。我们看一下内部的位的介绍就可以找到A

2020-08-26 14:50:08 1070

原创 STM32F070库函数的GPIO配置

最近在开发一款基于STM32F0的单片机的项目,最近开发思路逐渐清晰起来。其实一切的开发,最好的资料就是官方的开发手册,但是由于本人的英语能力较低,所以通常都会用有道词典来翻译。这次使用的单片机的型号为STM32F070P6F6,由于网上的资料较少,我们专程下载了别人的工程模板。自动从51单片机转到STM32单片机后,我就没有再直接调用寄存器,直接转到了库函数。ST公司早就开始推HAL库,但是本人理解能力较低,不是很会用。寄存器版本就没用过,大概了解一些,我们直接照着STM32库函数版本进行开发。

2020-08-26 11:29:56 935

原创 稳压芯片TPS54531的设计和分析

首先,作为一款电压芯片,我们设计时候,最重要的是分析是否能满足需要。接下来,选好芯片,我们打开datasheet的资料网站,将该芯片的资料下载到我们的电脑上来。我们设计的是一款输出3.3V(直接给单片机供电),输入电压为5-30V的电路,我们看一眼特征描述。1、输入电压3.5-28V2、可调节的输入电压最低可至0.8V3、高集成的低达80mΩ电阻的MOS管能支持5A的持续电流4、高效率在轻负荷与脉冲跳跃式生态模式。5、固定的570KHZ的开关频率6、典型的1uA的关断静态维持电流7、可调

2020-08-25 17:47:41 12404 10

原创 STM32的重复定义

最近在开发一款STM32F0的单片机的项目,在写程序的时候发现了一些关于重复定义的想法和问题。我在头文件将数据变量进行了定义#ifndef _usart_h#define _usart_h#include "sys.h"#define MAX_RX_LENGTH 50u8 USART1_RX_BUF[MAX_RX_LENGTH]; //串口1的接收缓冲区-缓冲区50个字节u8 USART1_RX_STA; //串口1接收状态位u8 USART1_RX_CO

2020-08-24 10:18:32 2451 2

转载 搞明白USART_FLAG_TC 与 USART_FLAG_TXE之间的 区别

最近看到有不少人问USART_FLAG_TC 与 USART_FLAG_TXE的区别是什么,我今天就抽时间详谈此事。先说串口收发过程:对于CPU来说,只需要将数据填入发送数据寄存器中就可以启动串口发送了,因为数据寄存器中的数据会由硬件自动打入发送移位寄存器中;同理,接收移位寄存器中一旦接收到一字节的数据后,移位寄存器中的数据会被硬件自动打入接收数据寄存器中,CPU就可以从接收数据寄存器中取数据了。也就是如下图所示的原理:USART_FLAG_TC是干嘛用的呢?当发送移位寄存器中的1字节数

2020-08-21 13:48:43 1241

转载 uint8_t / uint16_t / uint32_t /uint64_t数据类型详解

uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型?在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的太少。那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有个答案比较接

2020-06-05 09:52:29 1010

转载 SHT3x-DIS驱动及应用详解(附源码和手册)

详细见链接

2020-06-04 18:59:31 1176

转载 stm32 JTAG和SWD的使用区别

http://blog.csdn.net/LEON1741/article/details/72846434搞嵌入式开发和ARM开发搞了半辈子了,调试程序是不可避免的。接触了那么多的调试规范、调试工具、调试手段,彼此之间的关系却也不是特别清楚,今天就来捋一捋:JTAG协议JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA...

2020-06-04 16:51:22 599

原创 STM32F4库函数蜂鸣器实验

#include "sys.h"#include "delay.h"#include "usart.h"#include "led.h"#include "beep.h"int main(void){ delay_init(168); //初始化延时函数 ...

2019-10-09 22:51:27 986

原创 STM32F4库函数USB鼠标键盘实验

话不多说,先上程序。#include "sys.h"#include "delay.h" #include "usart.h" #include "led.h"#include "lcd.h"#include "usbh_usr.h"#include "string.h"//ALIENTEK 探索者STM32F407开发板 实验54//USB鼠标键盘 实验 -库函数版本...

2019-09-15 23:40:09 1637

原创 STM32F4库函数LED灯

现在用的就是STM32F407的芯片,我们从头开始,LED的程序,我们先看一下原子的程序。#include "sys.h"#include "delay.h"#include "led.h"int main(void){ delay_init(168); //初始化延时函数 LED_Init(); //初始化LED端口...

2019-09-15 12:25:38 779

原创 STM32F1库函数版本章节1 LED灯学习

以下只是个人学习的要点和个人观点,若整理的知识要点有问题,可以提出来,一起学习进步,嘻嘻嘻。 自毕业一年以后,我和我的一位学长住在了一起,最近和他探讨学习中,我被他喷的一无是处,作为一个嵌入式开发工程师,我的底子太薄了,所以我要重新学习单片机。 我们就从最简单的程序开始把,点亮一个LED灯。 看一下正点原子的程序:#includ...

2019-09-13 23:35:58 268

03.STM32F070F6P6芯片资料.zip

STM32F070x6xB 英文数据手册,STM32F070x6xB 英文参考手册,STM32F0xxx Cortex-M0 英文编程手册

2020-08-27

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

TA关注的人

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