摘要: printf("\r\n this is a usart printf demo \r\n");Use Micro LIB 需要勾选这个库将串口定义成 printf 函数#include //重定向C库函数printf到USART1int fputc(int ch, FILE *f){ ... 阅读全文
posted @ 2014-10-04 20:25 瘋耔 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 1.DMA:data memory access //实际的内存存储注:DMA干活的时候是不需要CPU干涉的2.①内存(定义的变量)---外设(寄存器);②内存---内存③外设---外设(一个外设的寄存器到另一个外设的寄存器)3.STM32有两个DMA控制器如图:4.举例说明:(内存到外设,串口1 ... 阅读全文
posted @ 2014-10-04 18:46 瘋耔 阅读(997) 评论(0) 推荐(0) 编辑
摘要: BOOT0 和 BOOT1STM32 三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的?Flash。2)SRAM = 芯片内置的 RAM 区,就是内存啦。3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段 Bootloader,就是通常说的 IS... 阅读全文
posted @ 2014-09-30 11:01 瘋耔 阅读(477) 评论(0) 推荐(0) 编辑
摘要: (1)CAN:(差分信号)有信号CANH=3.5V,CANL=1.5V, 没有信号CANH=2.5V,CANL=2.5V 速率:CAN系统又分为高速和低速,高速CAN系统采用硬线是动力型,速度:500kbps,控制ECU、ABS等;低速CAN是舒适型,速度:125K... 阅读全文
posted @ 2014-09-30 10:13 瘋耔 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 汽车上的OBD-II接口(母):ELM327用到的引脚:2:SAE-J1850PWM和SAE-1850VPW总线(+)4.车身地5.信号地6.CANhigh(ISO15765-4和SAE-J2284)7.ISO9141-2和ISO14230-4总线的K线10.SAE-J1850PWM协议总线(-)(... 阅读全文
posted @ 2014-09-30 09:27 瘋耔 阅读(10938) 评论(0) 推荐(0) 编辑
摘要: 笔者正在学习uCOS-II,移植到ARM时考虑到数据类型的定义,但对于KeilMDK编译器的数据类型定义还是很模糊,主要就是区分不了shortint、int、long和longint占用多少字节。为了得到一个权威的答案,改用编译器自身得出。一、先定义几个变量,用于存放各数据类型的字节数。//#inc... 阅读全文
posted @ 2014-09-30 08:55 瘋耔 阅读(2372) 评论(0) 推荐(0) 编辑
摘要: 指针篇 1.基本指针变量 (1)定义 int i,j; int *pointer_1,*pointer_2; pointer_1 = &i; pointer_2 = &j; 等价于 int *pointer_1 = &i,*pointer_2 = &j; (指针误区: 大家首先应该知道,地址可称为指 阅读全文
posted @ 2014-09-30 08:42 瘋耔 阅读(1455) 评论(12) 推荐(1) 编辑
摘要: 1.USB:电脑的USB口信号时USB信号,为差分信号,电压范围:+400mV~-400mV间变化;直流电压5V 驱动电流500MA 2.232电平: 逻辑1(MARK)=-3V~-15V 逻辑0(SPACE)=+3~+15V 3.485电平: 它是差分信号,两信号线 +2V~+6V表示“0”, - 阅读全文
posted @ 2014-09-26 14:14 瘋耔 阅读(2194) 评论(0) 推荐(0) 编辑
摘要: max3232采用专有低压差发送器输出级,利用双电荷泵在3.0V至5.5V电源供电时能够实现真正的RS-232性能,器件仅需四个0.1uF的外部小尺寸电荷泵电容。max3232确保在120kbps数据速率,同时保持RS-232输出电平。max3232具有二路接收器和二路驱动器,提供1uA关断模式,有... 阅读全文
posted @ 2014-09-26 09:38 瘋耔 阅读(780) 评论(0) 推荐(0) 编辑
摘要: 马云牛啊 从骑自行车到坐迈巴赫只用20年 打开电视电脑铺天盖地的马云,对事业一句话“他创造了电商神话,今天来谈谈他的车,从自行车到千万座驾。 1995 年的时候马云还在骑行自行车,1995 年的街头,有人偷井盖。但很多人看到不闻不问,唯有马云一声吼,这也是他第一次上镜头。 后来换成了黑色宝马,... 阅读全文
posted @ 2014-09-26 09:34 瘋耔 阅读(808) 评论(0) 推荐(0) 编辑
摘要: union有一个作用就是判断,pc是大端存储还是小端存储的,x86是小端存储的,这个东西是有cpu决定的。arm(由存储器控制器决定)和x86一样都是小端的。下面的是一个大端小端的一个例子,代码如下:下面是一个利用union判断PC是大端小端的例子,代码如下: 阅读全文
posted @ 2014-09-25 09:33 瘋耔 阅读(192) 评论(0) 推荐(0) 编辑
摘要: volatile搞嵌入式的,一定都特别属性这个关键字,记得第一使用这个关键字的时候是在韦东山老师的,Arm裸机视频的时候。volatile是告诉编译不要对这个变量进行任何优化,直接在内存中进行取值。一般用在对寄存器进行赋值的时候,或修饰可能被多个线程访问的变量。 简单地说就是防止编译器对代码进行优化 阅读全文
posted @ 2014-09-25 09:27 瘋耔 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 关键字const:a.const是用来定义只读变量的,切忌它定义的是变量,不是常量,真的常量是#define的和enum。b.在陈正冲老师的这本书中的第35页,有说编译器不为普通const只读变量分配内存空间,而是将它们保存在符号表中,这使得它成为一个编译期间的值,没有了存储与读内存的操作,使得它的... 阅读全文
posted @ 2014-09-25 09:22 瘋耔 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 1.“#if 0/#if 1 ... #endif”的作用,我们知道,C标准不提供C++里的“//”这样的单行风格注释而只提供“/* */”这样的块注释功能,我们通常使用它写代码中说明性的注释文字(注释作用)以及在调试时关闭某段代码对编译器的可见性(屏蔽作用),当然,这里所谓的“注释作用”和“屏蔽作... 阅读全文
posted @ 2014-09-23 22:21 瘋耔 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 这两周我继续学习CCSDS协议栈中位于传输层较低位置的SCPS-TP协议,并且复习了TCP/IP体系中的TCP协议和UDP协议,通过学习和对比两个体系的协议,加深了我对SCPS-TP协议的认识和理解。我们知道,无论是TCP/IP协议体系还是CCSDS协议体系,传输层都是非常重要的,他提供给上层可靠的... 阅读全文
posted @ 2014-09-19 11:55 瘋耔 阅读(538) 评论(0) 推荐(0) 编辑
跳至侧栏