C语言嵌入式开发
文章平均质量分 66
HUST_Miao
这个作者很懒,什么都没留下…
展开
-
prm文件总结
1 .prm 文件组成结构按所含的信息的不同.prm文件有六个组成部分构成,这里仅讨论和内存空间映射关系紧密的三个部分,其他的不做讨论。SEGMENTS … END定义和划分芯片所有可用的内存资源,包括程序空间和数据空间。一般我们将程序空间定义成ROM,把数据空间定义成RAM,但这些名字都不是系统保留的关键词,可以由用户随意修改。用户也可以把内存空间按地址和属性随意分割成大小不同的块,每块可以自由...转载 2018-05-07 21:11:04 · 9871 阅读 · 0 评论 -
DMA
DMA(Direct Memory Access,直接内存存取)DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统算法和网络是很重要的。DMA...转载 2018-08-13 19:17:02 · 5568 阅读 · 0 评论 -
I2C总线传输协议
简介I2C(Inter-integrated Circuit)总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口,它只需要两根信号线来完成信息交换。I2C最早是飞利浦在1982年开发设计并用于自己的芯片上,一开始只允许100kHz、7-bit标准地址。1992年,I2C的第一个公共规范发行,增加了400kHz的快速模式以及10-bit扩展地址。在I2C的基础上,1995年Inte...转载 2018-08-13 17:37:29 · 562 阅读 · 0 评论 -
STM32之串口通信
串口通信原理 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根...转载 2018-08-13 16:34:11 · 10418 阅读 · 1 评论 -
SPI接口——基于STM32
SPI接口——基于STM32一、SPI协议【SerialPeripheral Interface】 串行外围设备接口,是一种高速全双工的通信总线。在ADC/LCD等与MCU间通信。1、SPI信号线 SPI 包含 4 条总线,SPI 总线包含 4 条总线,分别为SS 、SCK、MOSI、MISO。(1)SS(SlaveSelect):片选信号线,当有多...转载 2018-08-13 15:49:52 · 31876 阅读 · 0 评论 -
C/C++结构体字节对齐
稍微了解过C/C++的人,都会了解它们在建立一个结构体的时候,会进行字节对齐操作,所以往往比世界变量占用的字节数要多出一些,而如何减少内存占用,计算内存使用量,也是很多面试题里经常出现的题目。 但是稍微当我们真的不想要字节对齐的时候,有没有办法取消字节对齐?答案是可以,就是在结构体声明当中,加上attribute ((packed))关键字,它可以做到让我们的结构体,按照紧凑排列的方式,占用内存...原创 2018-07-10 09:09:33 · 1927 阅读 · 0 评论 -
C语言基础复习----for循环运行机制
直接上代码#include<iostream>using namespace std;int minCount = 0;int min(int a, int b){ minCount++; return a < b ? a : b;}int maxCount = 0;int max(int a, int b){ maxCount+...原创 2018-07-09 20:40:15 · 567 阅读 · 0 评论 -
C/C++中assert() 使用方法
assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression );assert的作用...转载 2018-07-09 20:16:10 · 740 阅读 · 0 评论 -
详解C语言指针函数、函数指针、函数指针数组
在C语言中,指针是一个很重要但是又很容易弄错的概念,也可以说指针就是C语言的灵魂,所以说学好指针对于完全掌握C语言是一个必须的过程。而在指针中,指针函数、函数指针、指针函数数组、函数指针数组、指向函数指针数组的指针等等概念看着又绕又头疼。本问总结了一下以上一些概念以及用法,并给出例程深化理解。1. 指针函数指针函数就是返回指针值的函数,本质是一个函数。所以指针函数等价于“返回值为指针的函数...原创 2018-07-09 11:08:24 · 23686 阅读 · 12 评论 -
CAN通讯总结-基于STM32
CAN模式一.工作模式 通过CAN_MCR寄存器控制INRQ和SLEEP 1.初始化INRQ=1 SLEEP=0 软件初始化应该在硬件 2.正常INRQ=0 SLEEP=0 在初始化完成后,软件应该让硬件进入正常模式,以便正常接收和发送报文 3.睡眠SLEEP=1 bxCAN可工作在低功耗的睡眠模式 ...转载 2018-06-29 15:10:03 · 10854 阅读 · 0 评论 -
SPI、I2C、UART、CAN
一、简介1. SPISPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用。接口 SPI接口经常被称为4线串行总线,以主/从方式工作,数据传输过程由主机初始化。如图1所示,其使用的4条信号线分别为: 1) SCLK:串行时钟,用来同步数据传输,由主机输出; 2) MOSI:主机输...原创 2018-08-23 17:34:32 · 45223 阅读 · 3 评论