- 博客(17)
- 收藏
- 关注
原创 定时器
计数器时钟源提供方案1、内部时钟(CK_INT)2、外部时钟模式1:外部输入脚(TIx)3、外部时钟模式2:外部触发输入(ETR)4、内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频器计数器模式:向上计数、向下计数、向上向下双向计数模式时钟计算方法:除非APB1的分频系数是1,否则通用定时器的时钟等于APB1...
2018-05-15 11:44:02 1425
原创 STM32中断
CM3内核支持256个中断 16个内核中断、240个外部中断,具有256级的可编程中断设置STM32有84个中断,16个内核中断、68个可屏蔽中断,具有16级可编程的中断优先级68个可屏蔽中断中,103系列只有60个,107的才有68个NVIC 相关寄存器typedef struct{__IO uint32_t ISER[8]; /*!< Interrupt Set Enable Re...
2018-05-11 20:01:15 522
原创 按键
按键:写程序 一般会涉及按键检测,要不然不知道什么时间按下,什么抬起。扫描办法:1、循环扫描 2、中断处理循环扫描法:while(1){ if(key==0) { delay(20); //这个时间一般为5~10ms,传说中的去抖 if(key==0) //判断按键是不是真的按下,可能产生误触碰 { ...
2018-05-07 21:02:17 298
原创 时钟
IORCC_APB2PeriphColckCmd(uint32_t RCC_APB2periph,FunctionalState NewState) RCC->APB2ENR
2018-05-06 14:36:35 175
原创 STM32之GPIO
F103ZET6的IO口有7组,每组16个,工112个IO,是A、B~F、GGPIOA、GPIOB、GPIOC。。GPIOGGPIO作用:1、普通IO口2、端口复用,比如PA9,PA103、映射---布线方便GPIO8中工作方式输入4中1、输入浮空 2、输入上拉 3、输入下拉 4、模拟输入输出4中1、开漏输出 2、推挽输出 3、开漏复用 4、推挽复用 ...
2018-05-05 18:57:47 831
原创 物联网感悟
从事物联网1年多来,写下感悟与大家分享。1、我主要从事物联网的应用以及开发,不涉及芯片级别的开发。虽然也学过一段时间的STM32、以及ARM系列芯片,但都是皮毛,皮毛就是会点个灯,写个灯的驱动,不过驱动很长时间不看,逐渐忘记。2、主要从事农业物联网,不过天下技术一家亲,不管是什么物联网,道理是一样的。3、说说我这个物联网主要用到的技术:a、软件 b、硬件。 废话一堆,不过就这俩东西了,如果你业...
2018-05-04 16:27:42 4096
转载 Meta http-equiv 属性用法
http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。meat标签的http-equiv属性语法格式是:<meta http-equiv="参数" content="参数变量值"> ;其中http-equiv属性主要有以下几种参数:1、Ex
2017-07-28 17:46:53 265
转载 mysql基本操作
Mysql安装目录数据库目录/var/lib/mysql/配置文件/usr/share/mysql(mysql.server命令及配置文件)相关命令/usr/bin(mysqladmin mysqldump等命令)启动脚本/etc/init.d/mysql(启动脚本文件mysql的目录)系统管理连接MySQL格式: mysql -h 主机地址 -u用
2016-09-17 19:08:03 187
原创 设备驱动程序结构及初始化
设备驱动程序一般包括三部分1自动配置和初始化子程序,负责检查要驱动的硬件是否存在 。 没设备还玩个啥,存在的话当然进行初始化啊, 不过初始化驱动程序只在初始化时被调用一次2服务于I/O的请求的子程序3中断服务程序 linux接收硬件的中断请求,再由系统调用调用中断服务子进程。 不是直接从中断向量表调用中断服务子程序。 没有异常事件,调中
2016-09-16 23:45:09 2040
转载 git
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快
2016-09-16 12:12:03 224
转载 DS18B20
DS18B20简介】 DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样
2016-09-13 21:31:39 2698
原创 Array
一维数组声明数据类型 数组名[] = new 数据类型[个数]初始化int arr[] = {1,2,3,4,5}; 或者直接初始化长度计算数组名.length数组里面的API数组copySystem.arrayCopy(source,0,dest,0,x):语句的意思就是:复制源数组从下标 0 开始的 x 个元素到目标数组,从目
2016-09-09 22:06:26 260
原创 进程池 线程池 内存池
程序进化过程:单进程->多线程->线程池 ->多进程 ->进程池 单进程 程序运行正确进一步优化多线程->CPU有限 并行运行的线程有限 多进程->改变了限制条件 进程组运行时间取决于最长的一个进程运行的时间 进程池->我们先准备10个进程池,说白了就是10个空位子而已,一个一个察看,如果位置空了,那么就在这个位子上启动一个进程
2016-09-05 22:52:26 364
原创 InterProcess Communication
ipc 包括以下几种1pipe 2消息队列 3信号量 4共享内存 5信号 6socket1pipe 包括匿名管道 和命名管道(FIFO) 匿名管道用于有亲缘关系的进程间通信, FIFO用于无亲缘关系的进程间通信2消息队列 通过msgget返回一个文件描述符,msgrcv 和msgsnd 通过该文件描述符,实现无亲缘关系进程间通信。提供有格
2016-09-05 22:12:29 236
原创 daemon
daemon 6步pid_t pid;int fd;pid = fork()if(pid {........}if(fork != 0) exit(0);// getrlimit() 获得最高fd值 关闭不再需要的文件描述符fd = open("dev/null",O_RDWR);dup2(fd,0);
2016-08-27 16:29:57 405
原创 volatile 用法
volatile 类型变量告诉编译器该变量不稳定,每次读取该变量时从内存里面读,不从缓存里面读。编译器对该变量不在优化,从而可以提供对特殊地址的稳定访问。一个端口或多线程共享数据容易出错,所以用volatile 声明一下 ,让编译器每次都到内存读取该值
2016-08-24 22:25:32 169
原创 逗号运算符
逗号运算符,优先级最低。如 int x,y; x=y=1; z=x++,y++,++y; printf("%d %d %d ",x,y,z); x = 2 ,y = 3 ,z = 1 ,运算符优先级 低于 =先赋值 z ,然后x,y在做自增运算
2016-08-24 22:09:59 393
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人