嵌入式
博文天下-lei
这个作者很懒,什么都没留下…
展开
-
STM32 IO使用简介
上面图片是STM32的GPIO输出功能的使用的一些细节的解释原创 2017-04-24 16:42:18 · 641 阅读 · 0 评论 -
C语言中堆区栈区的区别
平常我们在编程代码的过程中,经常使用的是C语言,在编写代码的过程中,会有这样的思考:你的代码中数据是怎么存放的?存放在哪些地方,怎么来在STM32或者其他硬件平台上来运转?在C语言编写代码的过程中,内存分为四区:栈区、堆区、全局变量区、代码区1)栈区:由编译器自动分配释放,存放函数的参数,局部变量的值void recevery(char* buf, int bufsize){ ...转载 2018-03-14 10:21:10 · 2505 阅读 · 0 评论 -
C语言中的条件编译
条件编译的功能使得我们可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试很有用的。条件编译有三种形式,下面分别介绍:第一种形式: #ifdef标识符 程序段1 #else 程序段...原创 2018-03-14 11:22:44 · 1002 阅读 · 0 评论 -
电池系统中JTAG和SWD接口
原创 2018-03-14 16:09:58 · 556 阅读 · 0 评论 -
CC2530的串行接口原理与应用
网址:https://www.cnblogs.com/ALittleBee/p/7094794.html一、并行通信与串行通信 微控制器与外设之间的数据通信,根据连线结构和传送方式的不同,可以分为两种:并行通信和串行通信。 并行通信:指数据的各位同时发送或接收,每个数据位使用单独的一条导线。传输速度快、效率高,但需要的数据线较多,成本高。 串行通信:指数...转载 2018-03-28 12:42:09 · 17335 阅读 · 0 评论 -
STM32不用固件库容易产生的一个问题:Undefined symbol SystemInit
最近接触STM32F10x,有时只想实现一些小功能,实在不想用冗大的官方固件库,于是除了MDK提供的STM32F10x.s外,其余源文件都自己写。但MDK提供的启动文件不完善,对外设和中断支持不好,于是把STM32固件库里的startup_stm32f10x_cl.s(我的芯片是stm32f107vct6)加了进来,不过,链接报错!出错信息如下:uart.axf: Error: L6218E: U...转载 2018-04-11 14:09:22 · 1190 阅读 · 0 评论 -
使用串口打印系统时间
今天无意中看到一段代码,感觉有点意思,验证了一下,居然真的可以实现,就是在系统中通过串口打印出系统下载程序的时间,在文件中添加头文件,#include <stdio.h>,在文件串口打印的时候加上一句 printf("\r\n"__DATE__"-"__TIME__"\r\n");就可以实现,或者映射到串口n的时候,需要添加上串口号USART1_printf(USART1, "\r\n...原创 2018-04-12 13:55:19 · 3430 阅读 · 1 评论 -
8位、16位、32位单片机的区别?
CPU处理的数据的宽度,参与运算的寄存器的数据长度,1、如果总线宽度与CPU一次处理的数据相同,则这个宽度就是所说的单片机位数2、如果总线宽度和CPU一次处理数据宽度不相同: 1)总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片的的位数,但是称为准多少位,例如,Intel8088,CPU是16位但是总线是8位的,所以他是准16位 2...转载 2018-04-24 12:12:41 · 9108 阅读 · 0 评论 -
MDK4编译过程中出现的错误以及警告解释
在做数据处理的时候,出现warning: #223-D: function "abs" declared implicitly添加:float abs(float __x);//防止abs warning, 原因不明确, 可能是math.h与stdlib.h中都有abs()吧,用stdlib.h替换math.h也可解决问题1.warning: #550-D: variable "d" was se...原创 2018-04-20 15:16:06 · 1720 阅读 · 0 评论 -
STM32f10x.h中出现“#ifdef __cplusplus extern "C" { #endif”的定义
平时我们在linux c平台开发的时候,引用了一些Cpp或者C的代码库,发现一些头文件有如下代码条件编译。#ifdef __cplusplusextern "C" {#endif// 代码#ifdef __cplusplus}#endif这个是什么意思呢?一开始看到这个也很茫然。上网查找了一些资料。主要作用:为了在C++代码中调用用C写成的库文件,就需要用extern"C"来告...转载 2018-04-26 11:57:23 · 722 阅读 · 0 评论 -
软件编写的规定
2-1:一般情况下,源程序有效注释量必须在20%以上。 说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 2-2:文件头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、修改日志等。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /****************...转载 2018-03-13 16:37:17 · 307 阅读 · 0 评论 -
什么是ROM、RAM、DRAM、SRAM和FLASH,以及它们的区别
什么是ROM、RAM、DRAM、SRAM和FLASH,以及它们的区别 ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 * V2 L5 q1 d& \9 Y0 y- K/ k# Z$O7 ...转载 2018-03-13 16:22:56 · 1215 阅读 · 0 评论 -
gcc版本查看
原创 2017-12-08 11:44:37 · 4810 阅读 · 0 评论 -
Linux平台下交叉编辑器的理解
1、编译器的概念编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。高级计算机语原创 2017-12-08 10:58:15 · 400 阅读 · 0 评论 -
开源基于CAN总线的Bootloader/IAP,含上位机及单片机源码
开源基于CAN总线的Bootloader/IAP,含上位机及单片机源码http://openedv.com/forum.php?mod=viewthread&tid=90463&highlight=IAP转载 2018-03-07 16:46:05 · 8003 阅读 · 0 评论 -
UC/OS-II移植
说到UC/OS-II的移植,下面有需要改动的文件,原创 2018-03-14 17:37:41 · 241 阅读 · 0 评论 -
void (*task) (void *pd)是什么意思
函数指针可以指向任何类型的带一个参数的函数,void (*task)(void *pd);int func(unsigned char *s); task = func; //函数入口地址给函数指针就是可以用task来代替func函数了,定义了一个指向函数的指针task,所指向的函数无返回值,参数为可指向任意类型的指针,入宫写成void*task(void*pd)的形式则是声明了一个tas...转载 2018-03-15 17:57:38 · 2562 阅读 · 1 评论 -
C语言中结构体感悟
今天看到一个有关C语言结构体的笔记,感觉很不错,拿来回一下以前的结构体知识,C语言中,数组允许定义可存储相同类型数据项的变量(例如int i,float a等),是属于单一类型的,结构体是C语言中另一种用户可以自定义(我的理解为按照用户的想法可以随意由基本类型组成的)的可用的数据类型,它允许用户在存储不同类型的数据项。1、使用结构体来表示一条记录,假设你想要跟踪图书馆中书本的动态,你可以需要跟踪每...转载 2018-03-10 21:55:17 · 1299 阅读 · 0 评论 -
绝对路径和相对路径的区别,
绝对路径:是从盘符开始的路径,形如C:\windows\system32\cmd.exe相对路径:是从当前路径开始的路径,假如当前路径为C:\windows要描述上述路径,只需输入system32\cmd.exe实际上,严格的相对路径写法应为.\system32\cmd.exe其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。假如当前路径为c:\program files要调...转载 2018-03-12 16:38:16 · 772 阅读 · 0 评论 -
labview2016中怎么播放Flash视频文件
1、今天在搞Flash视频,想到好像labveiw2016也可以播放视频,就重新找出以前的资料来看看,做了一个小的程序,如下图1图2创建一个容器,ActiveX Container图3 创建一个ActiveX对象图4图6图7 创建属性节点...原创 2018-03-22 13:35:03 · 1630 阅读 · 3 评论 -
怎么仿照STM32库文件来写STM32驱动文件
1、这天在折腾STM32,看到很多高手写的一些程序,记录一下,作为以后自己编写高质量软件代码的参照, (1) #define rUTXH0 (*(volatile unsigned char *)0x1d00020) //代码比如这是ARM头文件中经常看到的宏定义,UTXH0是寄存器, 这个语句具体是什么意思?以前有过PIC单片机的基础,在编写PIC程序的时候 ...转载 2018-03-13 16:19:16 · 1712 阅读 · 1 评论 -
CANTest软件安装成功经验
Step:插上USBCAN卡后,如果没有安装驱动,会显示如下的黄色!如图1,代表没有找到驱动,电脑会自动安装驱动,如图2图1图2这个时候打开测试软件CANMonitor是无法打开设备的,因为需要安装周立功公司的驱动,可以通过周立功公司的CANPro协议分析平台的安装来直接安装CAN驱动,首选,打开软件目录打开CANPro_Setup 软件,直接安装CAN_P...原创 2019-04-04 11:29:32 · 21579 阅读 · 2 评论