- 博客(28)
- 资源 (9)
- 收藏
- 关注
原创 STM32F407探索者(正点原子的资料)(百度链接)
STM32F407探索者(正点原子的资料):链接:https://pan.baidu.com/s/1FiYX4mOB_iIxlJL3FI_Q1Q提取码:dpnq
2019-11-05 10:33:54
9500
5
原创 STM8、32标准外设库(百度链接下载)
STM8、32标准外设库STM32F0xx_StdPeriph_Lib_V1.5.0.zipSTM32F10x_StdPeriph_Lib_V3.5.0.zipSTM32F2xx_StdPeriph_Lib_V1.1.0.zipSTM32F30x_DSP_StdPeriph_Lib_V1.2.3.zipSTM32F37x_DSP_StdPeriph_Lib_V1.0.0.zip...
2019-11-05 09:59:59
3261
6
原创 Keil如何新建STM32工程
Keil下如何新建STM32工程,分六步走。第一步 新建文件夹第二步 拷贝必要文件进来拷贝完成。第三步 新建工程打开软件新建工程:Project àNew uVision project然后弹出路径和工程名设置,选择刚才新建的工程路径,并命名,然后保存。接着选择自己使用的芯片型号,点击????。/**************...
2019-11-05 09:43:00
1237
原创 STM32工程在keil下怎么移植到IAR环境(stm32f103c8)
从STM32的keil开发环境移植到IAR开发环境,分为六步走。首先安装IAR编译环境,这个自行安装。第一步 新建文件夹新建一个文件夹命名“LED_CTRL”,在这个文件夹下再建立三个文件夹,CMSISI:放系统启动相关文件,FWLIB:放库文件USER.:放用户自己写的文件如下图:第二步 拷贝文件在keil下其实也有相对应的文件,我么们考过来就可以了。...
2019-11-04 17:44:38
2334
原创 STM32串口重定向使用printf的问题
之前使用串口重定向的时候没想那么多,也没有归纳总结,都是能用就行。今天重新弄一个串口,在使用串口重定向printf打印时,遇到了程序不执行的问题。现归纳总结一下:芯片:STM32F103C8t6 环境:KEIL5.231.写出串口重定向的函数:(注意:需要包含都文件 #include <stdio.h>)#define _PRINTF_#ifdef _PRIN...
2019-10-31 10:25:54
1136
2
原创 关于PADS9.5打开layout时出现错误窗口:unable to create addin :InstanceName=Achive Navigator=DAVIGATOR的问题。
1.问题描述:9.5PADS打开layout出现如下窗口:2.解决办法:以管理员身份打开CMD,注意,必须是以管理员身份哦!然后进入安装PADS的目录:C:\Windows\system32>D:D:\MentorGraphics\9.5PADS\SDD_HOME\Programs>然后执行命令安装:D:\MentorGraphics\9.5PADS\...
2019-10-09 10:55:22
3600
原创 DSP ECan在配置扩展模式,非常奇怪的问题
DSP ECan在配置扩展模式,基本的发送接收功能时遇到一个非常奇怪的问题,2块不同的板子,但芯片是相同的F8069,其中有一块板子只有下载完程序而不复位就能发送和接收数据,只要复位之后,就不能再跑起来。另外一块板子则不受影响,开机,复位都能在正常发送接收数据。可以确认的是,程序已经成功写入到芯片,那还有什么原因会导致这样的情况发生呢?...
2019-08-21 09:29:38
369
原创 安装DSP开发环境:CCS8注意事项
安装CCS8的注意问题:1.安装的路径直接使用默认路径,否则可能会安装失败。(我就是一直安装失败才使用默认路径的。)2.安装controlSUITE也直接使用默认路径,(原因:在CCS8开发软件中需要配置controlSUITE的路径,否则库文件将会不被找到,文件编译则能通过,而很多工程都是直接使用默认路径,因此使用默认路径比较好。)...
2019-08-08 08:19:15
1367
转载 C 命令行参数
C 命令行参数执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动...
2019-01-06 18:23:59
241
3
转载 C 内存管理
C 内存管理本章将讲解 C 中的动态内存管理。C 语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到。序号 函数和描述 1 void *calloc(int num, int size); 在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size ...
2019-01-06 18:15:42
312
2
转载 C 可变参数
C 可变参数有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。下面的实例演示了这种函数的定义。int func(int, ... ) { . . . } int main() { func(2, 2, 3); func(3, 2, 3, 4); }请注意,函...
2019-01-06 18:07:14
147
转载 C 递归
C 递归递归指的是在函数的定义中使用函数自身的方法。举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?'从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……'"语法格式如下:void recursion() {statements;...
2019-01-06 17:57:00
193
转载 C 预处理器
C 预处理器C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。所有的预处理器命令都是以井号(#)开头。它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。下面列出了所有重要的预处理器指令:...
2019-01-06 17:02:34
193
转载 C 文件读写
上一章我们讲解了 C 语言处理的标准输入和输出设备。本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。打开文件您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调...
2019-01-06 16:44:50
285
转载 位域
C 位域如果程序的结构中包含多个开关量,只有 TRUE/FALSE 变量,如下:struct{ unsigned int widthValidated; unsigned int heightValidated;} status;这种结构需要 8 字节的内存空间,但在实际上,在每个变量中,我们只存储 0 或 1。在这种情况下,C 语言提供了一种更好的利用内存空间的方式。如...
2019-01-06 16:16:28
194
转载 共用体
C 共用体共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。定义共用体为了定义共用体,您必须使用 union 语句,方式与定义结构类似。union 语句定义了一个新的数据类型,带有多个成员。union 语句的格式如下:union [union tag...
2019-01-06 15:52:30
264
转载 结构体和位域
C 结构体C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:Title Author Subject Book ID定义结构为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的...
2019-01-06 15:38:48
298
转载 函数指针与回调函数
函数指针函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传递参数。函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型实例以下实例声明了函数指针变量 p,指向函数 max:实例#...
2019-01-06 14:36:57
429
1
转载 C语言之指针
什么是指针?指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:type *var-name;如:int *ip; /* 一个整型的指针 */double *dp; /* 一个 double 型的指针 */float *fp; /* 一个浮点型的指针 */...
2019-01-06 14:36:17
254
转载 C语言枚举的好处
枚举的好处:枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。枚举语法定义格式为:enum 枚举名 {枚举元素1,枚举元素2,……};接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:#define MON 1#define TUE 2#define WED 3#define THU 4...
2019-01-06 14:35:40
2932
原创 NRF51822的dfu工程编译问题
使用的版本:nRF5_SDK_12.3.0_666331ad编译环境:KEIL5工程路径:nRF5_SDK_12.3.0_666331ad\nRF5_SDK_12.3.0_d7731ad\examples\dfu\bootloader_secure\pca10028\arm5_no_packs\secure_dfu_secure_dfu_ble_s130_pca10028.uvproj...
2018-08-22 16:11:06
496
原创 stm32f429IGt6+7寸RGB屏+SRAM,使用标准库(不要HAL库)在ucosiii上如何移植emwin?
stm32f429IGt6+7寸RGB屏+SRAM,使用标准库(不要HAL库)在ucosiii上如何移植emwin?
2018-03-13 20:21:37
1623
原创 使用高级定时器,定时器1遇到的问题
初始化定时器1,开启定时器1中断,定时1S切换LED的状态。但是写好之后,测试发现灯的状态在44s才切换一次,一直找不到原因。最后发现了一点是高级定时器和普通定时器的区别:TIM_RepetitionCounte是用来配置重复计数,就是重复溢出多少次才给你来一个溢出中断,只有高级定时器需要配置。下面是定时器1的程序:#include "Timer1.h"#include
2017-08-30 18:17:51
2025
原创 stm32开机时,在eeprom读取存储的内容,发送给DGUS屏进行显示数据,但是第一个数据显示是0
stm32开机时,在eeprom读取存储的内容,然后用串口发送给DGUS屏的变量地址进行显示数据,但是第一个数据显示是0,而且之前发送接收数据时串口通信都不存在问题。通过测试eeprom读数据是成功的,但是为什么DGUS屏显示的第一个数据会失败呢?第一点,有可能是变量地址写错了,第二点,有可能是串口传输的问题,第三点,有可能是dgus屏接收显示数据太慢。经过咨询DGUS屏的客服,客
2017-08-16 21:22:21
1861
原创 dgus屏串口通信时,发现数据有时候stm32能接收到,有时候接收不到,一直想不到是什么原因
在dgus屏上输入数据,发送给STM32,然后stm32接收到数据之后,显示到电脑上,但是,不看不知道,一看吓一跳,竟然会经常数据丢失!!!!找了一个下午也没找到什么原因,一直认为是串口中断函数出错了,可是看了n遍,也没觉得那个函数有问题啊。晚上睡觉觉都在想到底是怎么回事........,今早上一来,把一些程序先注释掉之后,结果发现,没问题了,突然脑子一转,肯定是定时中断搞得鬼,一查发现,开了两个
2017-08-16 21:17:25
3524
1
原创 STM32的接收中断和发送中断同时使能会导致程序死在初始化串口那里。
//主函数 串口与PC通信 收到什么就发什么extern char Uart2_Buffer[30];extern char Uart2_Rx; int main(void) { u16 times=0; u8 Uart2_Tx = 0; delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2 uart_init(9600); //串口初始化为9
2017-08-11 00:30:35
4383
3
转载 今天开始学PID电机控制,这个作者写得很不错,和大家分享一下~~~ PID控制算法通俗理解 作者:whut_wj 来源:http://blog.eccn.com/space.php?uid=35
今天开始学PID电机控制,这个作者写得很不错,和大家分享一下~~~PID控制算法通俗理解作者:whut_wj来源:http://blog.eccn.com/space.php?uid=353091&do=blog&id=3964本文以通俗的理解,以小车纵向控制举例说明PID的一些理解。(一)首先,为什么要做PID?由于外界原因,小车的实际速度
2017-06-03 11:39:57
1666
原创 c语言中的绝对值
加入嵌入式这个行业已经半年了,以前一直以为c语言中没有绝对值这个东西的,今天看了一份代码才发现,原来是自己孤陋寡闻了........头文件:math.h函数名:abs();例如:abs(-1);其返回结果是1。具体看下图。
2017-06-03 09:57:04
12416
TM1650_datasheet.pdf
2020-01-08
Keil如何新建STM32工程.docx
2019-11-05
STM32工程在keil下怎么移植到IAR环境(stm32f103c8).docx
2019-11-04
红外感温数据手册
2017-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人