- 博客(13)
- 资源 (3)
- 收藏
- 关注
转载 const关键字如何使用?
我们都知道使用const关键字限定一个变量为只读,但它是真正意义上的只读吗?实际中又该如何使用const关键字?在解答这些问题之前,我们需要先理解const关键字的基本使用。本文说明C中的const关键字,不包括C++。一. 基本介绍const是constant的简写,是不变的意思。但并不是说它修饰常量,而是说它限定一个变量为只读。1. 修饰普通变量例如:const int ...
2019-03-15 17:49:32
260
转载 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
27962
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
522
转载 I2C总线时序解析
一、协议 1.空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义: 起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低
2017-10-26 10:57:57
972
转载 stm32-串口接受不定长数据方法(3种)
方法1:串口接受数据,定时器来判断超时是否接受数据完成。方法2:DMA接受+IDLE中断实现思路:采用STM32F103的串口1,并配置成空闲中断IDLE模式且使能DMA接收,并同时设置接收缓冲区和初始化DMA。那么初始化完成之后,当外部给单片机发送数据的时候,假设这帧数据长度是200个字节,那么在单片机接收到一个字节的时候并不会产生串口中断,而是DMA在后台把数据默默地搬运到你指
2017-06-15 16:54:16
35952
6
原创 指针详细分析
一.指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,指针本身所占据的内存区。例一: (1)int *ptr; (2)char *ptr; (3)int **ptr; (4)int (*p
2017-06-13 11:53:19
472
原创 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
7523
原创 C运算符优先级
表格1:表格2:C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)
2017-02-08 17:20:00
613
原创 指针问题(*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
964
转载 stm32_can错误中断 清除重点
整理:MilerShao 某日,有一客户反映他们在做STM32F407的CAN通信的出错测试时,发现出现类似死机的现象。后来跟踪调试发现是开启了出错中断,因其不停中断导致的貌似死机现象。纳闷的是,经过进一步测试,发现即使清除了“中断请求标志”后也无效。大致情形如下:在CAN通讯时候让某节点做插拔、断电等测试,人为的产生一些CAN总线错误,看看能否让总线恢复正常。 结果测试发现,如果
2017-01-06 11:17:03
13235
2
转载 mcp2515 芯片驱动总线错误BUG的解决方法(主要无法进入中断bug)
http://blog.renren.com/share/221002615/11483613167 来自张涛的日志现象:CAN总线在线上设备热插拔或长时间运行后出现总线异常情况,有时不能发送和接收,有时只能发送不能接收。分析: 经过观察,发现出现只能发送不能接收的情况是由于没有调用中断服务造成的,而在整个驱动中并没有其它地方会异常释放中
2016-08-18 10:02:12
7239
转载 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
2019
canfestival-3-8bfe0ac00cdb--canopen协议栈+canfestiavl对象字典编辑器安装包
2018-04-04
Linux C程序设计王者归来 [吴岳等编著][清华大学出版社][2014.08][766页]
2018-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人