自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

转载 const关键字如何使用?

我们都知道使用const关键字限定一个变量为只读,但它是真正意义上的只读吗?实际中又该如何使用const关键字?在解答这些问题之前,我们需要先理解const关键字的基本使用。本文说明C中的const关键字,不包括C++。一. 基本介绍const是constant的简写,是不变的意思。但并不是说它修饰常量,而是说它限定一个变量为只读。1. 修饰普通变量例如:const int ...

2019-03-15 17:49:32 219

转载 C语言之#include用法详解

学习Linux C,必须要理解include,只要弄清以下几个问题,就能完全理解include了! 1.#include 实质是什么?预编译的时候copy include头文件的内容到当前行(疑问:预编译命令 $gcc -E test.c -o test.i)2.#include “” 与“”先在当前目录查找有无该头文件,有则包含该目录下的头文件,没有则到系统指定的目录下找

2017-11-28 16:19:22 27507 1

转载 Linux内核中的常用宏--container_of(container_of(ptr, type, member)

开发平台:Ubuntu11.04    编 译器:gcc version 4.5.2 (Ubuntu/Linaro4.5.2-8ubuntu4)     Container_of() 在Linux内核中是一个常用的宏,用于从包含在某个结构中的成员变量指针获得结构本身的指针。                               通俗地讲就是,通过结构体变量中某个成员的首地址

2017-10-26 14:09:00 461

转载 I2C总线时序解析

一、协议 1.空闲状态  I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义: 起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低

2017-10-26 10:57:57 896

转载 stm32-串口接受不定长数据方法(3种)

方法1:串口接受数据,定时器来判断超时是否接受数据完成。方法2:DMA接受+IDLE中断实现思路:采用STM32F103的串口1,并配置成空闲中断IDLE模式且使能DMA接收,并同时设置接收缓冲区和初始化DMA。那么初始化完成之后,当外部给单片机发送数据的时候,假设这帧数据长度是200个字节,那么在单片机接收到一个字节的时候并不会产生串口中断,而是DMA在后台把数据默默地搬运到你指

2017-06-15 16:54:16 35699 6

原创 指针详细分析

一.指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,指针本身所占据的内存区。例一: (1)int *ptr; (2)char *ptr; (3)int **ptr; (4)int (*p

2017-06-13 11:53:19 422

原创 stm32_GPIO模拟I2c读写EEPROM

/*下面给出STM32通过GPIO模拟I2C读写EEPROM程序*/#define SCL_H GPIOB->BSRR = GPIO_Pin_6#define SLC_L GPOIB->BRR = GPIO_Pin_6#define SDA_H GPIOB->BSRR = GPIO_Pin_7#define SDA_L GPIOB->BRR= GPIO_Pi

2017-06-06 13:07:54 7387

原创 C运算符优先级

表格1:表格2:C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)

2017-02-08 17:20:00 574

原创 指针问题(*puchMsg++ 等价于 *(puchMsg++))

/*测试*/{  u8 buff[10] = {0};u8 *puchMsg = buff;u8 *p2 = buff;u8 *p3 = buff;u8 i=0;u8 k,m,n,x;for(i=0;i<sizeof(buff);i++){buff[i] = i*2;printf("buf[%d]=%d\r\n",i,buff[i]);}i=sizeof(buff);while(i--){m...

2017-02-06 09:36:30 892

转载 stm32_can错误中断 清除重点

整理:MilerShao 某日,有一客户反映他们在做STM32F407的CAN通信的出错测试时,发现出现类似死机的现象。后来跟踪调试发现是开启了出错中断,因其不停中断导致的貌似死机现象。纳闷的是,经过进一步测试,发现即使清除了“中断请求标志”后也无效。大致情形如下:在CAN通讯时候让某节点做插拔、断电等测试,人为的产生一些CAN总线错误,看看能否让总线恢复正常。 结果测试发现,如果

2017-01-06 11:17:03 12613 2

转载 stm32_can错误中断

stm32 can 错误中断处理分析。

2016-11-17 11:18:08 8031

转载 mcp2515 芯片驱动总线错误BUG的解决方法(主要无法进入中断bug)

http://blog.renren.com/share/221002615/11483613167 来自张涛的日志现象:CAN总线在线上设备热插拔或长时间运行后出现总线异常情况,有时不能发送和接收,有时只能发送不能接收。分析:         经过观察,发现出现只能发送不能接收的情况是由于没有调用中断服务造成的,而在整个驱动中并没有其它地方会异常释放中

2016-08-18 10:02:12 6735

转载 stm32 SSD1325驱动及UI迭代库

Lab Blog Recipe Githubstm32 SSD1325驱动及UI迭代库 Source code on GitHub包含多种组件,高效开发UI。图 Images配置 Configuration引入c和头文件引脚定义位于ssd1325.h头部#define RCC_APB2Periph_OLED

2016-08-18 09:55:53 1917

canfestival-3-8bfe0ac00cdb--canopen协议栈+canfestiavl对象字典编辑器安装包

0.亲测在项目中已使用 1.canfestival 是一个开源的canopen协议栈,适应于多种嵌入式设备移植。 2.canfestival 的版本为CanFestival-3-8bfe0ac00cdb,是官网当前最新版本。 3.在linux下使用对象字典编辑器只需要安装python,在canfestival协议栈源码中就可以打开对象字典编辑器;若在windows下使用对象字典编辑器则需要使用另一个文件canfestival_对象字典编辑器中的安装包,安装方法在安装包中有说明。

2018-04-04

Linux C程序设计王者归来 [吴岳等编著][清华大学出版社][2014.08][766页]

本书6部分,从linux c编程入手,vi操作,gcc编译,makefile文件,linux的进程线程详细的讲解,linux文件操作,linux网络,shell脚本等。非常适合初学者,也非常适合作为一本工具书,遗忘时查缺补漏!!!

2018-04-03

stm32的TMP100NA温度传感器的驱动代码

TMP100NA温度传感的驱代码,以及写温度,亲测可以使用。i2c接口

2016-03-11

空空如也

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

TA关注的人

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