自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Grace_1203的博客

记录自己走过的点点滴滴

  • 博客(219)
  • 资源 (2)
  • 收藏
  • 关注

原创 取一个整数各偶数位上的数构成一个新的数字

值传递,地址传递。一个数组的各个元素变成各十百千的算法

2023-09-01 14:44:24 823 1

原创 strlen是碰到第一个字符串结束符‘\0‘就结束,所以长度不包括‘\0‘。定义数组时会默认在字符串后面添加一个‘\0‘

strlen sizeof

2023-08-31 15:44:10 926

原创 去除字符串中的数字(字符串的拼接memcpy(&str2[j],&str1[i],1);)

去除字符串中的数字。memcpy(*dst,*src,len)

2023-08-31 14:56:07 324

原创 取数组中每个元素的最高位

取数组中每个元素的最高位。scanf输入数组

2023-08-30 16:40:40 547

原创 函数指针——求最大值和最小值,求随机值(回调函数)

函数指针,回调函数

2023-04-18 16:22:52 230

原创 编译器C89和C99的区别(关于C语言的变量定义的位置问题)

编译器问题——C89和C99C89规定,在任何执行语句之前,在块的开头声明所有局部变量。在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。

2023-04-18 15:01:56 513

转载 keil断电调试——4窗口输出信息

双击选中某一行,如test_aa_write_cnt(),然后右击,选择Insert/Remove Breakpoint F9,然后使用Ctrl+B可以查到所有断点。设置的命令Command输出为【printf(“USART_INIT()”)】如下,插入的断点是一个变量,表达式是一个变量,则运行时候会出现,调试失败。记住此处断点不可以是一个变量,表达式只能是某一行。

2023-04-16 09:33:36 309

转载 keil调试——2数据访问(变量首次在哪里被read或者write)

断电调试——2数据访问

2023-04-12 13:11:18 77

转载 keil调试——3数据匹配

keil断电调试——3数据匹配。当变量aa=8时,程序停止运行。

2023-03-18 17:33:44 116

转载 keil调试——1设置变量被改写第10次后停止运行(广:代码位置运行的次数)

查看变量aa被write的第10次停止运行。(广:代码位置运行的次数)

2023-03-18 16:38:55 272

原创 Vscode 用户区的settings.json文件

vscode编写代码的配置

2022-10-25 15:32:18 402 1

原创 指针函数(返回值为指针的函数):指针变量一定需要分配地址,否则不可以赋值

指针函数的定义指针一定要分配地址if函数预编译+define变量的例子

2021-12-09 11:03:44 927

原创 关于STM32运行时程序卡在B.处的解决方法

程序运行时,发现程序卡死在B.处。

2021-12-09 10:47:34 3715 1

转载 2020-10-25 Excel if公式与或操作,去掉空格,二进制负数转十进制函数

转载:https://jingyan.baidu.com/article/a17d5285d78c268099c8f256.html=SUBSTITUTE(A1," ","");去掉空格一、If函数。作用:判断是否满足某个条件,条件为True时返回一个值,为False时,返回另外一个值。语法:=If(条件,条件为True时的返回值,条件为False时的返回值)。目的1:判断“语文”成绩是否及格。方法:在目标单元格中输入公式:=IF(D3>=60,"及格","不及格")。

2020-10-25 14:41:38 486

转载 2020-10-21 rt_timer定时器实例

[RTT例程练习] 4.1 定时器基本使用定时器分为软件定时器和硬件定时器。硬件定时器,是指单片机本身提供的一种外设,能够产生定时事件,而且不占用CPU时间。优点是定时精度高,独立于CPU,还可灵活配置其他许多功能,例如PWM。而软件定时器是操作系统提供的一种定时接口,其精度取决于操作系统的tick时间,而RTOS的tick建立在硬件定时器之上,一旦开机就不再改变。但优点是其数量不受硬件定时器数目的限制,而且便于操作系统统一管理。RTT中,软件定时器还分单次触发和周期性触发。这个例子显示了一

2020-10-21 10:40:33 783

原创 timer的各种模式和极性介绍(重要)

TIM_OCMode_Active:set output on match low_true_pulse TIM_OCMode_Inactive:clear output on match high_true_pulseTIM_OCMode_Toggle:toggle TIM_OCMode_Toggle规律:low_true_pulse 表示初始到match是有效电平。high_true_pulse 表示match到mod是有效电平。好记住:low_true_pulse表示前面的...

2020-10-13 19:37:20 1278

原创 keil变量看不到变量值的原因是程序被优化掉

在keil中有一些变量添加到watch调试窗口,却看不到变量的值。原因是局部变量由于未被使用,从而被优化掉,导致该变量不存在。

2020-10-12 20:07:29 2439

转载 2020-08-24 中心PWM和边沿PWM

转载:https://blog.csdn.net/Still8912/article/details/50113147中心PWM和边沿PWM写的非常好,因为我看懂了。PWM模块:边沿对齐PWM和中心对齐PWM 当PWM 时基工作在自由运行模式时,模块产生边沿对齐的PWM 信号。给定PWM 通道的输出1. 边沿对齐模式信号的周期由装入PTPER 的值指定, 其占空比由相应的PDCx 寄存器指定(参见图15-7 )。假设占空比非零且立即更新未被使能( IUE = 0),所有使能的PWM 发..

2020-08-24 10:52:36 488

转载 输入捕捉

(1)输入捕捉转载:https://www.cnblogs.com/wwjdwy/archive/2013/03/16/2963306.html什么是输入捕获(捕捉)输入捕获可以对输入的信号的上升沿,下降沿或者双边沿进行捕获,通常用于测量输入信号的脉宽、测量 PWM 输入信号的频率及占空比。输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。STM32的输入捕获,简单的说就是通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(

2020-07-27 08:57:14 1577

原创 让程序跳转到某绝对地址执行——程序计数器PC(esp和ebp)

已知:函数int a=2;的地址是0x08000734;int b=4;的地址是0x08000736;int c=6;的地址是0x08000738。第一步:手动改变R15(PC程序计数器)的值为0x08000736,函数的执行语句会跳到int b=4所在的211行。第二步:手动改变R15(PC程序计数器)的值为0x08000738,函数的执行语句会跳到intc=6所在的212行。如下图所示之所以记录这个是因为今天同事问了我一个问题,她仿真的时候,可以知道是哪个地址执行的程序挂掉...

2020-07-23 23:46:18 2670

转载 bandgap的理解(内部带隙电压基准)

转载地址:http://bbs.mydigit.cn/read.php?tid=1635508写的非常好,想把每句话都记住。大家都知道,stc单片机的adc(模数转换器)的基准是基于基于供电电源电压的,这样就造成了一个问题,如果供电电压发生变化,adc读得的值也会发生变化,就出现了测不准的现象,所以大家普遍的用法就是在adc的一个通道外接一个电压基准,类似tl431,通过读电压基准和测量值,换算出真实测量电压,但这样就会带来个问题,要占用一路adc通道,占用一个io,付出tl431的成本,外接还要处

2020-07-22 23:03:18 16056 4

转载 rt_thtread系统节拍tick

RT-Thread 中,系统节拍的长度可以根据 RT_TICK_PER_SECOND 的定义来调整,等于 1/RT_TICK_PER_SECOND 秒。若系统的硬件是外置8MHz晶振,系统时钟每秒节拍数1000表示1s内rt_tick增加1000,即时钟节拍为1ms;若系统时钟每秒节拍数设为100,则rt_tick每隔10ms加1,时钟节拍为10ms。所以如果想做成时钟节拍为5ms的,那就把RT_TICK_PER_SECOND设置为200;如果想把时钟节拍做成2ms的,那就把RT_TICK

2020-07-22 17:02:55 454

转载 讲解ST的GPIO重映射很好的文章

https://blog.csdn.net/k122769836/article/details/7700153st有数据手册,也有reference manual 也就是所谓的寄存器手册STM32F030寄存器参考手册 - 豆丁网Docin http://www.docin.com/p-2197201403.html重映射步骤为:1.打开重映射时钟和USART重映射后的I/O口引脚时钟, RCC_APB2PeriphClockCmd(RCC_APB2Peri...

2020-07-20 15:42:53 324

转载 STM32 JNTRST JTDI JTDO引脚用做普通IO方法(PB4、PB3、PA15)

转载:https://blog.csdn.net/wp_31/article/details/8245925STM32默认启动时PB4、PB3、PA15三个引脚不是普通IO,而是JTAG的复用功能,分别为JNTRST、JTDI、JTDO。当我们试用SWD接口调试仿真时,这三个引脚可以用作普通IO。具体做法就是禁用JTAG功能。只需使用以下语句即可。#define GPIO_Remap_S...

2020-02-20 17:11:19 2832

转载 等价:*(p+i) 《====》P[i]

方法:*(p+i)与P[i]无条件等价。

2019-11-21 14:24:54 431

原创 出现 SEGMENT: ?C_INITSEG 的原因:记住定义的时候不可以初始化

出现C_INITREG 问题的原因在定义变量的时候进行初始化了。。

2019-10-31 17:02:42 4522

转载 stm32的8种输入输出的含义与区别

转:https://blog.csdn.net/LSKCGH/article/details/77921434一:四种输入模式1.上拉输入(GPIO_Mode_IPU): 上拉输入就是信号进入芯片后加了一个上拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平为高电平2.下拉输入(GPIO_Mode_IPD): 下拉输入就是信号进入 芯片后加了一个下拉电阻...

2019-09-24 14:49:31 1308

转载 IO重映射

转载:https://blog.csdn.net/gtkknd/article/details/80685191后续再进行补充举例:重映射USART2USART2的TX/RX在PA.2/3 PA.2已经被Timer2的channel3使用需要把USART2的TX/RX重映射到PD.5/6库函数的调用(1)使能被重新映射到的I/O端口时钟 RCC_APB2PeriphCl...

2019-09-20 09:45:50 547

转载 stm32 spi 疑惑解疑 1————SPI_I2S_GetFlagStatus SPI调试小结

https://blog.csdn.net/ybhuangfugui/article/details/52068759https://blog.csdn.net/baiyibin0530/article/details/53064575真正的首先所有的数据发送和接受不查询完成标志位,只是用delay间隔来保持发送和接受就是扯淡。正确的做法是查询标志位,代码...

2019-08-30 09:47:03 12143 2

转载 PC-Lint代码静态检查之Info 701: Shift left of signed quantity (int)

https://blog.csdn.net/ronnie_hu/article/details/77409631

2019-08-30 00:35:58 640

转载 #define PC_DEBUG

https://blog.csdn.net/sinat_20265495/article/details/51762738

2019-08-29 23:49:58 199

转载 STM32介绍Flash

https://baijiahao.baidu.com/s?id=1616941770060703736&wfr=spider&for=pc

2019-08-29 00:21:15 206

转载 STM32使用__attribute__((at(0x????????)))将变量定义到绝对地址

https://blog.csdn.net/sinat_23338865/article/details/51960362站在巨人的肩膀上学习学习STM32也会遇到这样的绝对定位的问题如下:uint8_t UART_RX_BUF[1024] __attribute__ ((at(0X20001000))); //就是将串口接收的数据定位到RAM中起始地址为0X200010...

2019-08-28 23:52:02 2107

转载 【解答】命令行(Cmd/Powershell)从默认C盘切换到其他盘(D盘)包括转到C盘

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/yzy_1996/article/details/81135988————————————————版权声明:本文为CSDN博主「yzy_1996」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原...

2019-08-21 22:25:41 3726

原创 安装运行python以及打包python程序

写好python脚本之后,先在环境中测试一下1.terminal:先测试脚本是否正确python 脚本名称 入口参数出现下一条语句的执行行,表示这个脚本可正确执行。python TestAexe.py "C:\Users\xuyan\Desktop\0806wanKLZ\SENASIC1_20190806jianhua_yidiandian.txt"2.安装打包...

2019-08-08 13:44:40 276

转载 GPS数据GPRMC的转换

抄自:https://blog.csdn.net/zhy755788055/article/details/49254101#include<stdio.h>#include<stdlib.h>int main(){ double gpslng = 11355.8494; double gpslat = 2231.6704; double...

2019-07-23 10:05:23 1674

转载 GPIO的BRR,BSRR

https://blog.csdn.net/greatxiaoting/article/details/52133578

2019-07-01 20:17:22 630

原创 WG题目

一、考察函数指针和指针函数二、考察struct结构的所占用的字节大小等

2019-06-28 19:44:48 238

转载 使得notepad运行C程序

notepad可以运行C程序(文章写的甚好):https://blog.csdn.net/gouxf_0219/article/details/80677605安装mingW64(应该是一个GCC的编译器):https://jingyan.baidu.com/article/455a99509c76d8a1662778f6.html...

2019-06-22 10:27:35 224

原创 波特率的计算

第一个W是写时长。一个周期前面的高电平(上升沿的时长)的时间长度为38.5us。第二个F是波特率。12.82KHZ。第三个是一个周期的时长。78us。QG一句话:一个问题:78us发送了一位;波特率的意思就是1s发送了多少位?回答:(1)78us发送了一位。(上升沿发送给一位)。78us=78*10(-6)s(2)波特率就是1s发送了多少位。1/(78*10...

2019-06-20 17:11:59 6240

bandGap内部基准电压的计算.c

基准有两个材料串联而成,分别为温度正材料(温度升高阻值变大)和温度负材料(温度升高阻值变小)串联而成,这样,两个材料互相抵消,基准值就不会随温度发生变化。stc单片机的adc(模数转换器)的基准是基于基于供电电源电压的,这样就造成了一个问题,如果供电电压发生变化,adc读得的值也会发生变化,就出现了测不准的现象,所以大家普遍的用法就是在adc的一个通道外接一个电压基准,类似tl431,通过读电压基准和测量值,换算出真实测量电压,但这样就会带来个问题,要占用一路adc通道,占用一个io,付出tl431的成本,外接还要处理电路,麻烦。所以stc15系列的单片机给我们提供了内部的基准,名字叫BandGap(内部带隙电压基准)。

2020-07-22

PC-Lint使用报告.docx

PC-lint的安装与使用教程——以及PC-lint的使用报告

2019-08-17

空空如也

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

TA关注的人

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