自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 STM32 ADC 解读

 (1)启动停止The ADC can be powered-on by setting the ADON bit in the ADC_CR2 register.When the ADON bit is set for the first time, it wakes up the ADC from Power Down modeConversion starts when AD...

2018-11-03 10:34:11 1127

原创 IAR 不能 go to definition of xxxx

tools --> option 

2018-10-26 08:41:55 203

转载 PDU短信编解码格式说明 官网http://www.3gpp.org/DynaReport/27-series.htm

PDU短信编解码格式说明(找来找去个人认为这一篇还是比较靠谱的)2013-11-28 19:20 5652人阅读 评论(1)收藏举报分类: 嵌入式开发(46) 共有三种方式来发送和接收SMS信息:Block Mode, Text Mode和PDU Mode。其中PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。

2017-02-16 21:18:29 1423

转载 CUTEFTP 权限的修改 之CuteFTP问题 修复CUTEFTP unable to transfer

2016-05-14 21:02 921人阅读 评论(0)收藏举报分类: UNIX环境高级编程(22) 版权声明:本文为博主原创文章,未经博主允许不得转载。需要系统有支持FTP服务才能使用,于是就做了如下配置,居然可以实现文件的共享了,其实还可以设置账户,权限,安全等等,这些在网络服务器上估计用的很多,我这是为了学习嵌入式开发用,

2016-11-18 14:53:26 2464

原创 联合体 union 定义和使用

union xxx{  u8 a; u8 b; u8 c;};typedef union xxx{  u8 a; u8 b; u8 c;}XXX_U_T;

2016-08-26 10:14:50 3446

转载 内存对齐 相关知识,转

1. 内存对齐(Data Structure Alignment)是什么内存对齐,或者说字节对齐,是一个数据类型所能存放的内存地址的属性(Alignment is a property of a memory address)。这个属性是一个无符号整数,并且这个整数必须是2的N次方(1、2、4、8、……、1024、……)。当我们说,一个数据类型的内存对齐为8时,意思就是指这个数

2016-08-13 21:01:33 788

原创 ucos iii 的OSInit()函数学习

os_core.c(1)调用 OSInitHook();来初始化MSP的栈顶指针。(2)清零相关中断嵌套数 的全局变量。---重要一点(将 OSRunning 赋值为 STOP)(3)清零与任务相关的变量、指针。(4)创建一个IDLE_task,任务优先级为 定义优先级数 里面的最低优先级,但这个任务只做一个简单的计数,并无其他功能。(5)创建一个Tick_Task,优先级

2016-08-10 22:54:35 1995

原创 转载 C 函数的可变参数实现原理

va_start和va_end使用详解  本文主要介绍va_start和va_end的使用及原理。  在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。  介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略

2016-07-14 15:55:29 332

原创 函数指针的定义和使用

void (*pFunction)(void);void JumpToApp(void){ unsigned int JumpAddress;    put_str("now,jump to app...\r\n\r\n"); SCB->VTOR = (APP_BASE_ADDR)&0X1FFFFF80;//0x3FFFFF80 __set_MSP(*(__IO uint3

2016-06-14 12:23:03 1059

原创 sizeof(xxx) ,IAR编译器

#pragma pack(1)typedef struct t_msg_{uint8_t ctl_father_type;uint8_t *databuf;uint8_t ctl_son_type;uint16_t ctl_para;}TASK_CTL_MSG_T;#pragma pack()sizeof(TASK_CTL_MSG_T)=8---------

2016-06-08 10:47:55 1140

原创 协议解析-串口协议解析

#define MU_IN_BF_LEN (150) #define MU_OUT_BF_LEN (150)uint8_t inbuf[MU_IN_BF_LEN]={0};  //用于保存:从RX中断缓冲buffer中读出的数据uint8_t outbuf[MU_OUT_BF_LEN]={0};//用于保存:提取出的一个完整帧#define UART1_RX_RINGBUF_LEN

2015-11-24 21:48:19 7238 1

原创 sscanf的使用

buf="$GNRMC,004505.000,A,2241.001098,N,11416.656622,E,0.028,129.792,201015,,E,A*3F";  sscanf((char const*)buf,"%*[^,],%6s%*[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%[^,]",    &gps_location_i

2015-10-20 21:20:43 599

转载 GPS串口数据格式

NMEA[GPS] 数据格式  3.7数据消息  NMEA数据消息如表3.6所示。表3.6 数据消息GPGGAGPS定位信息GPGLL定位地理信息GPGSA当前卫星信息GPGST卫星伪距统计

2015-10-19 18:34:16 9463

转载 sprintf知识

sprintf函数的用法2011-11-30 16:55:43分类: LINUXsprintf() 格式化输出函数(图形)功能: 函数sprintf()用来作格式化的输出。用法: 此函数调用方式为int sprintf(char *string,char *format,arg_list);说明: 函数sprintf()的用法和printf()函数一样,

2015-10-19 11:47:23 593

转载 高速CAN、低速CAN、单线CAN 基础知识

2015-09-23 10:45:47 14911

转载 CANoe学习3

最好的学习方式是什么?模仿。有人会问,那不是山寨么?但是我认为,那是模仿的初级阶段,当把别人最好的设计已经融化到自己的血液里,变成自己的东西,而灵活运用的时候,才是真正高级阶段。正所谓画虎画皮难画骨。但初级阶段仍然是必须经历的过程,他会使你在达到高级阶段的过程中少走很多弯路,下面我们来迈出这一步。先研究一下别人的简单例子。    最好的例子莫过于Vector本身的Demo了,这个在安装完CAN

2015-09-18 11:05:39 4770 2

转载 CANoe学习2

CAPL就是Communication Application Programming Laguage的缩写,CAPL类似于C语言的语法,因此所有的语法请参考C语言教程,这里不在这里进行详述,关于C语言,毫无疑问的,首先推荐大家看谭浩强老师的书,经典中的经典,看完这本C语言应该没问题了。CAPL在CANoe中起到重要的作用,他将所有的部分联系起来(请看下图)现在我们给予上一节的基础上,来着重介绍C

2015-09-18 11:04:12 3695 1

转载 CANoe学习1

CANoe是Vector公司的针对汽车电子行业的总线分析工具,现在我用CANoe7.6版本进行介绍,其他版本功能基本差不多。硬件我使用的是CAN case XL.1,CANoe软件的安装很简单,先装驱动,再装软件。安装完成,插上USB,连接硬件,这样在控制面板中,Vector Hardware 进行查看通过查看信息可知,CANcaseXL中的两个piggy,一个是251(高速C

2015-09-18 11:02:49 8194

原创 锂电池知识

电池容量(C)的计算方法: 容量C=放电电池(恒流)I×放电时间(小时)T 放电时间T=容量C/放电电流(恒流)I 单位是 安时,或毫安时;比如一个电池用500MA(毫安)的恒定电流放了2 个小时,那么这个电池的容量就等于500MA*2H=1000MAH=1AH 再如一个电池用5安的电流放了2个小时,那么该电池的容量就是10AH。 蓄电池的额定容量C,单

2015-09-01 15:34:49 2651

转载 ASCII码表

八进制十六进制十进制字符八进制十六进制十进制字符00000nul1004064@01011soh1014165

2015-09-01 09:04:12 462

转载 CAN 报文信号编码规则 intel & motorola

当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的编码结果没有什么不同,完全一样。当信号的数据长度超过 1 个字节(8 位)时,两者的编码结果出现 了明显的不同1. 信号的高位,即最能表达信号特性的因子,比如:车速信号 500km/h 按照给定的公 式,转换成十六进制数为 0x6A5,因为 6 代表的数量级最大(162),那么其中

2015-08-26 10:32:22 14635 1

转载 STM32 中断优先级原理

CM3 内核支持 256 个中断,其中包含了 16 个内核中断和 240 个外部中断,并且具有 256级的可编程中断设置。但 STM32 并没有使用 CM3 内核的全部东西,而是只用了它的一部分。STM32 有 84 个中断,包括 16 个内核中断和 68 个可屏蔽中断,具有 16 级可编程的中断优先级。而我们常用的就是这 68 个可屏蔽中断,但是 STM32 的 68 个可屏蔽中断,在 STM3

2015-07-22 17:13:23 2017

转载 STM32启动文件分析

STM32 之 启动文件详细解析(V3.5.0)2013-02-23 13:43 1883人阅读 评论(0)收藏 举报在>,用的是STM32F103RBT6,所有的例程都采用了一个叫STM32F10x.s的启动文件,里面定义了STM32的堆栈大小以及各种中断的名字及入口函数名称,还有启动相关的汇编代码。STM32F10x.s是MDK提供的启动代码,从

2015-07-13 21:47:13 916

转载 加速计知识1

ST:MEMS加速度传感器五大功能简化用户设计    随着苹果iPhone和任天堂Wii游戏机的流行,加速度传感器在消费类电子设备中得到了广泛的应用。例如,笔记本中的跌落保护、MP4/手机中的屏幕自动翻转、轻敲手机挂断电话以及手机“翻转静音”等等。这些应用改变了传统设备与用户之间的交互方式,使产品有了更好的用户体验。作为这场变革的领导者,意法

2015-05-25 08:30:43 1349

转载 三维知识

三维中 Yaw, pitch and roll 的区分(图片)                  yaw 旋转                                         pitch旋转                             roll旋转

2015-05-19 16:28:02 441

转载 陀螺仪原理--网上转载

本帖翻译自IMU(加速度计和陀螺仪设备)在嵌入式应用中使用的指南。这篇文章主要介绍加速度计和陀螺仪的数学模型和基本算法,以及如何融合这两者,侧重算法、思想的讨论介绍本指南旨在向兴趣者介绍惯性MEMS(微机电系统)传感器,特别是加速度计和陀螺仪以及其他整合IMU(惯性测量单元)设备。2012-8-22 16:38 上传下载附件(16.48 KB)

2015-05-18 21:55:18 2544

原创 I2C打印

#define LOW  0#define HIGH 1#define EXBUFF_LEN  100unsigned char exbuff[EXBUFF_LEN]={0};#define SDA_SET_AS_INPUT {PE_DDR2=0;}#define SCL_SET_AS_INPUT {PE_DDR1=0;}#define test_GET_SDA_VALUE

2014-12-23 10:28:04 651

原创 MOS管知识

分为 N沟道 和 P沟道 两大类三个管脚,分别为 G极,S极,D极(即 栅极,源极,漏极)。区分方式:1、N沟道--》箭头向内P沟道--》箭头向外   即P外2、导通方向--》都是跟箭头方向相反3、导通条件--》都是基于栅极和源极间的电压比较(VG :VS)N沟道导通条件--》栅极电压>源极电压,即NGSP沟道导通条件--》源极电压>栅极电压,即SG

2014-12-19 15:03:20 694

转载 sizeof 和 strlen的区别

一、sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的

2014-12-11 17:43:21 591

原创 C 宏 #ifdef AAA #elif defined BBB #elif defined CCC ......#endif

#ifdef EN_CAN_HYUNDAI_KIA代码A

2014-10-28 10:46:17 714

原创 函数名调用方法

1、typedef void (*VOID)(void);2、typedef struct{ unsigned char Source; VOID   pEnter; VOID   pExit; VOID   pProcKey; VOID   pVideo;}SOURCE_TYPE_PROC;

2014-10-23 09:44:36 966

原创 DSA通信原理-步骤详解

DSA通信使用了三条线,分别为:STB

2014-09-24 15:01:10 3362 3

原创 使用位域来定义位变量,执行位操作,多用于flag变量,YES or NO 的标记

struct bit_t {        unsigned char   b0:1;                   /* bit7 */        unsigned char   b1:1;                   /* bit6 */        unsigned char   b2:1;                   /* bit5 */    

2014-06-26 19:25:18 2455

转载 C 基础 typedef与define 的使用

typedef与define2008-02-25 21:41deno1983 | 分类:C/C++| 浏览27253次typedef int * pint ; #define PINT int * 那么: const pint p ;//p不可更改,但p指向的内容可更改 const PINT p ;//p可更改,但是p指向的内容不可更改。 为什么呢。

2014-04-04 10:10:15 667

转载 关于WORK_QUEUE,工作结构变量,工作处理函数,工作者线程,工作队列--细看

中断控制---工作队列http://bdxnote.blog.163.com/blog/static/84442352012429113729702/  2012-05-29 11:37:29|  分类:Kernel |字号 订阅1、工作队列描述:工作队列(work queue)是将任务推后执行的另外一种手段;它的使用方法与Tasklet非常

2013-10-25 10:44:10 806

转载 Linux下USB驱动框架分析

Linux下USB驱动框架分析Linux USB驱动框架分析(一)   初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其他的驱动程序写法。

2013-10-23 16:06:32 611

转载 浅谈Linux驱动程序框架

浅谈Linux驱动程序框架2009-12-28 09:20比特网之极关键字:Linux 程序 框架 驱动  在使用Linux系统时会遇到驱动程序的安装调试等,下面我们就为您简要的介绍一些基本的设置。  一、linux的设备驱动程序与外界的接口可以分为三个部分:  1.驱动程序与操作系统内核的接口。通过file_operations(include/l

2013-10-23 13:59:34 774

74HC595 c51驱动程序

用于51单片机的程序,可以同时驱动两个74595 级联型,即能传送16位的数据

2010-08-11

空空如也

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

TA关注的人

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