C语言
寒冷的海王星
这个作者很懒,什么都没留下…
展开
-
__I、 __O 、__IO volatile是什么?怎么用?
#include "core_cm3.h"中有如下定义#define __I volatile const /*!#define __O volatile /*!#define __IO volatile /*!请问这__O与__IO都是代替同一关转载 2015-06-17 11:12:36 · 742 阅读 · 0 评论 -
LED的闪烁频率设定
(1)1Hz的频率闪烁是指灯泡等发光物体一秒钟闪烁一次。 2Hz的频率闪烁是指灯泡等发光物体一秒钟闪烁两次。(2)频率是指单位时间(1秒)内变化次数,单位是Hz。转载 2016-08-31 21:11:49 · 17807 阅读 · 0 评论 -
C语言运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--转载 2016-04-22 14:39:03 · 580 阅读 · 0 评论 -
c函数指针详解
一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){ MyFun(10); //这里是调用MyFun(10);函数 return转载 2016-04-22 14:16:14 · 1326 阅读 · 1 评论 -
GPIO口 取反
void GPIO_PinReverse(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin){ /* Check the parameters */ assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); assert_param(IS_GPIO_PIN(GPIO_Pin)); GPIOx->ODR ^=转载 2016-03-29 12:34:37 · 6649 阅读 · 0 评论 -
Bit、Byte、KB、MB(M)、GB(G)关系
STM32字(word) 32位半字(half word) 16位字节(byte) 8位位(bit)Bit、Byte、KB、MB(M)、GB(G)KB,是计算机中表储存容量大小的单位,用中文表示就是“千字节” 。它不是最小的计算机容量单位,在它下面还有Byte就是B也就是“字节” 1GB=1024MB转载 2016-04-12 14:51:39 · 10621 阅读 · 0 评论 -
STM32启动模式及API
我们玩ARM9,一般都是在内存里调试程序,速度飞快。STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序上一个小小的改动要花上几倍的时间下载代码,这确实是不能忍受的。 我们也可以在开发STM32时,在内存中调试程序。 {STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用转载 2016-04-12 11:04:06 · 1611 阅读 · 0 评论 -
TFTLCD的图片以及汉字字符显示说明
做技术支持,有很多初学者不知道TFTLCD的汉字,字符以及图片的显示,以及汉字的字体大小怎么调整。在这里特别的说明一下。首先要知道不管是汉字、字符或者图片都需要点阵数据,才能在TFTLCD上显示。字符和汉字是的点阵数据是一位代表一个点的数据,其实也就是0或者1。取模后的点阵数据是1的像素点,需要显示画笔颜色,也就是点亮,数据为0的像素点,则显示背景颜色就可以了。这样颜色的对比就能够显示出汉字或转载 2015-09-23 22:46:57 · 12813 阅读 · 2 评论 -
C语言 printf 格式化 输出 右对齐补零
C语言 printf 格式化 输出 右对齐补零关于printf的一点总结,内容来自http://blog.sina.com.cn/s/blog_5ac88b350100auna.html1.1 标准输入输出函数1.1.1 格式化输入输出函数 Turbo C2.0 标准库提供了两个控制台格式化输入、 输出函数printf( ) 和 scanf(),转载 2015-09-19 11:43:35 · 8457 阅读 · 0 评论 -
基于MODBUS 协议的CRC16程序实现
ModBus 通信协议的 CRC ( 冗余循环校验码含2个字节, 即 16 位二进制数。CRC 码由发送设备计算, 放置于所发送信息帧的尾部。接收信息设备再重新计算所接收信息 (除 CRC 之外的部分)的 CRC, 比较计算得到的 CRC 是否与接收到CRC相符, 如果两者不相符, 则认为数据出错。1) 预置 1 个 16 位的寄存器为十六进制FFFF(即全为 1) , 称此寄存器为 CR转载 2015-09-16 16:48:39 · 2721 阅读 · 2 评论 -
CRC16校验C语言程序源码(转载)
CRC16校验C语言程序源码(转载) (2012-09-15 19:33:15)标签: 杂谈 分类: 电子技术最近忙着做一个触摸屏和单片机之间的通讯,主要使用了Modbus RTU 协议,在协议用到了 CRC16 校验,所以在网上找了很多资料,个人感觉这篇文章写的比较好,所以转载过来学习学习。。。 //CRC16校验在通讯中应用广泛,这里不对其理论进行讨论,只对常见的3种//实转载 2015-09-16 16:38:26 · 3031 阅读 · 0 评论 -
面试点:解读关键字volatile
面试点:解读关键字volatileC语言面试题分析之一一.volatile是什么?volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。二.编译器优化是什么意思?int i = 5;i转载 2015-08-18 17:17:11 · 375 阅读 · 0 评论 -
extern与头文件(*.h)的区别和联系
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢?? 这个问题一直也是似是而非的困扰着我许久,经过实践和查找资料,有如下总结:一、头文件 首先说转载 2015-08-14 06:48:05 · 419 阅读 · 0 评论 -
按键扫描程序
转载《按键扫描程序 》注:红色为自己评注 蓝色为重点部分以下假设你懂C语言,因为纯粹的C语言描述,所以和处理器平台无关,你可以在MCS-51,AVR,PIC,甚至是ARM平台上面测试这个程序性能。 以下以AVR的MEGA8作为平台讲解,没有其它原因,因为我手头上只有AVR的板子而已没有51的。用51也可以,只是芯片初始化部分不同,还有寄存器名字不同而已。 核心算法: u转载 2015-08-22 15:53:46 · 1102 阅读 · 0 评论 -
C语言中的结构体
C语言中的结构体在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。[1] 定义与声明结构体的定义如下所示,struc转载 2015-05-26 13:59:14 · 667 阅读 · 0 评论 -
struct和typedef struct
1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是struct Stud转载 2015-05-26 13:47:23 · 319 阅读 · 0 评论 -
stm32串口中断收发数据环形缓冲区的设计
[cpp] view plain copy /******************************************************************************* * Function Name : USART2_IRQHandler * Description : This function handles转载 2016-09-03 20:23:16 · 3018 阅读 · 0 评论