自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 gcc代码优化导致nrf52点灯程序逻辑出错

在nrf52840芯片上编写的一个LED灯闪烁程序,运行后LED灯不闪烁,反复确认代码逻辑没啥问题,通过调试是GCC优化代码导致的问题。

2024-10-03 21:31:26 351

原创 msys2+gdb-multiarch+jlinkGDBServer的nrf52调试环境搭建

前言刚拿到一块nrf52840的板子,为了方便以后的开发,先搭建一个调试环境,为方便以后回忆记录一下过程。将jlink工具路径加入msys2的PATH,在MSYS2 UCRT64中使用下面命令。这个~/.bashrc是打开MSYS2 UCRT64时要首先运行的命令。

2024-10-03 14:27:22 614

原创 msys2软件包手动安装

在下面网站中下载相应软件包:(msys2好像分mingw64、ucrt64、clang64,不是很懂反正我用的ucrt64)下载后缀为.zst的,我下载的mingw-w64-ucrt-x86_64-arm-none-eabi-gdb-9.2-8-any.pkg.tar.zst,

2024-10-03 13:24:10 931

原创 GNU make的官方生成依赖例子理解

不是很理解,通过查找资料终于理解啦,写点东西记录一下。sed网上有很多资料,理解下面的命令不难。对于sed ‘s,($

2023-04-26 18:58:43 446

转载 函数正交与向量正交

转载自https://blog.youkuaiyun.com/eloudy/article/details/56489400 函数的正交是向量正交概念的推广。一个函数f(x)可以视之为无穷维向量。在n维空间中两个向量的正交是用内积这个概念来定义的:设X=(x1,x2,...,xn),Y=(y1,y2,...,yn),则X与Y正交定义为其内积    X*Y=x1*y1+x2*y2+...+xn*...

2018-08-10 15:06:20 1697

转载 stm32之PWM DAC傅里叶级数推导

转载自http://blog.sina.cn/dpool/blog/s/blog_57ad1bd20100txgs.html?vt=4傅里叶级数的数学推导  首先,隆重推出傅里叶级数的公式,不过这个东西属于“文物”级别的,诞生于19世纪初,因为傅里叶他老人家生于1768年,死于1830年。  但傅里叶级数在数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学等领域都有着广泛的应用,...

2018-08-09 20:11:15 2454

转载 stm32之ADC

转载自https://www.cnblogs.com/chris-cp/p/3947451.htmlstm32之ADC  将模拟量转换为数字量的过程称为模式(A/D)转换,完成这一转换的期间成为模数转换器(简称ADC);将数字量转换为模拟量的过程为数模(D/A)转换,完成这一转换的器件称为数模转换器(简称DAC). 模拟信号的采集与处理:  数据采集系统由模拟信号采集、A/D转...

2018-08-09 15:11:38 349

转载 stm32 adc

一。什么是本文引用地址: http://power.21ic.com//poc/technical/201711/58340.html  二。ADC的特点  ADC的位数决定了ADC的精度,有8位的,12位的,16位的等。还有一个很重要的参数就是转换时间。STM32f103RBT6有2个ADC控制器。128KFlash,20KRAM每一个ADC控制器...

2018-08-09 13:06:44 454

原创 usmart中_m_usmart_dev的理解

   首先声明了一个如下类型的结构体类型_m_usmart_devstruct     _m_usmart_dev{    struct _m_usmart_nametab *funs;    //函数名指针    void (*init)(u8);                //初始化    u8 (*cmd_rec)(u8*str);            //识...

2018-08-07 12:24:55 1575

转载 WWDG初始化时库函数调用顺序

转载自https://blog.youkuaiyun.com/lbsgrowup/article/details/47428627WWDG初始化时库函数调用顺序(1)对于下述的WWDG初始化函数,烧录后,运行正常。但是,将WWDG使能并装载初始值语句WWDG_Enable(WWDG_CNT)放于清除提前唤醒中断标志位语句WWDG_ClearFlag()和开启窗口看门狗中断语句WWDG_EnableIT...

2018-08-04 16:37:46 588

转载 STM32F103ZE单片机在WWDG窗口看门狗的EWI中断中喂狗导致系统复位的原因及解决办法(中断函数重入问题)

转载自https://blog.youkuaiyun.com/ZLK1214/article/details/78308058程序开启了WWDG的Early wakeup(EWI)中断,在中断中喂狗,但系统不停地复位。HCLK=72MHz, PCLK1=4.5MHz, PCLK2=72MHz程序如下:  #include <stdio.h> #include &lt...

2018-08-04 10:14:03 1010 1

原创 GPIO输入输出模式

浮空输入:引脚处电压由外接电路决定,电平可能是高,也可能是低,还可能非高非低,多用于ADC的输入上拉/下拉输入:引脚未接外部电路时引脚处电压由芯片提供上拉为高电平下拉为低电平推挽输出:可设置引脚为高电平或低电平开漏输出:软件置0输出低电平,软件置1引脚电平由外接电路决定和浮空输入类似...

2018-07-29 15:55:32 1051

原创 stm32 delay函数的理解

1,首先看HCLK是多少频率,2,Systick用的是外部时钟源(STCLK),还是内核时钟源(FCLK);外部时钟源是        HCLK(AHB总线时钟)的1/8;内核时钟是 HCLK时钟void delay_us(u32 nus){            u32 ticks;    u32 told,tnow,tcnt=0;    u32 reload=SysTick-...

2018-07-25 16:11:31 3976

转载 时钟周期/指令周期/机器周期/总线周期+系统时钟,CPU时钟

转载自https://blog.youkuaiyun.com/yuandm819/article/details/51213734时钟周期时钟周期也称为震荡周期, 定义为时钟脉冲的倒数, 是计算机中最基本, 最小的时间单位.在一个时钟周期内, CPU只完成最基本的动作. 对同一种机型而言, 时钟频率越高, 计算机工作速度越快.机器周期在计算机中, 为了便于管理, 通常把一条指令执行划分为若干个阶段...

2018-07-25 14:18:54 3252

转载 stm32位带操作理解

转载自https://www.cnblogs.com/szhb-5251/p/6662417.html正在准备做毕业设计,配置LED_Config()的时候,又看到了位带操作的宏定义,我又嘀咕了,什么是位带操作,一年前在使用位带操作的时候,就查阅过好多资料,Core-M3也看过,但是对于博主这种“低能儿”来说,你不把它说的白一点,就是感觉理解的不够透彻,于是今天又一次,查阅了各种手册,也算是基...

2018-07-23 18:20:20 2065 2

转载 GPIO_Init() 引脚初始化理解

转载自https://blog.youkuaiyun.com/wqx521/article/details/50925659 /* GPIO_InitTypeDef结构体 */ typedef enum { GPIO_Speed_10MHz = 1, //枚举常量,值为 1,代表输出速率最高为 10MHz GPIO_Speed_2MHz, //对不赋值的枚举变...

2018-07-22 17:19:50 16055

原创 stm32f10x.h中寄存器的声明理解

stm32f10x库文件中的端口时钟使能方程如下:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState){  /* Check the parameters */  assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));  assert_...

2018-07-22 09:42:44 1973

转载 #define __IO volatile

转载自https://blog.youkuaiyun.com/qq_35553587/article/details/79507277STM32例子代码中会有像这样的代码 static __IO uint32_t TimingDelay;  这里边的__IO修饰符不好理解,单从字面可以看出是为IO相关,查其标准库可以得知这个__IO原来是在Core_cm3.h中被重定义,其实就是volatile,句子如下...

2018-07-21 16:47:39 1175

转载 详解stm32中的assert_param()函数

转载自http://blog.sina.com.cn/s/blog_dc9571b90102vhuw.html大家在用stm32库函数的时候几乎都会发现assert_param()这个函数,这个函数是判断参数有没有错误,具体是什么错误呢,我会在后面贴图的。 assert_param()这个函数在stm32f10x_conf.h中定义: #ifdef  USE_FULL_ASSE...

2018-07-21 16:13:31 2650 1

转载 #define用法详解

转载自https://www.cnblogs.com/shmilxu/p/4837373.html#define用法详解1.#define 的作用  在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令...

2018-07-21 15:56:46 352

空空如也

空空如也

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

TA关注的人

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