• 欢迎访问我的博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 本网站关闭了评论功能,联系请点击→邮箱
  • Ctrl+D 可快捷收藏本站点
C/C++

关于IIC总线使用示波器采集只观察到一半VCC电平的现象

关于IIC总线使用示波器采集只观察到一半VCC电平的现象
今天同事发现了一个有意思的现象,IIC主机发送8bit数据后,从机回复一个低电平。但是示波器却采集到了一个只有一半电压的电平。先上电路图。 IIC电路图没啥问题,再上发现问题时的时序图,如下。 首先我们先简单回顾一下IIC时序。SCL,SDA高电平总线空闲。SCL保持高电平时,SDA由高->低跳变为起始信号。SDA由低->高为结束信号。传……继续阅读 »

gql 3年前 (2022-02-17) 1830浏览

C/C++

Arduino安装器件包

Arduino安装器件包
由于Arduino目前通过在线安装的方式无法下载到器件包,所以可以通过以下方式下载 一、安装Arduino 自己操作 二、添加开发板网址 点击左下角的“点击查看非官网开发板支持网址列表”,然后在该网址下找到自己需要的开发板,把链接复制过来,比如这里的https://arduino.esp8266.com/stable/package_esp8266com……继续阅读 »

gql 3年前 (2021-10-15) 1547浏览

andriod开发

关于Android的SwitchButton的一些坑

关于Android的SwitchButton的一些坑
一 、先理需求 网格布局管理内放设备块,每个设备块内部有一些控件来展示设备的相关信息,有一个SwitchButton来控制设备的开关。点击/滑动开关到相应的状态时,发送指令到服务器并等待反馈,再更新UI。如下图所示当开关关闭时,图标灰显。 当开关打开时图标呈现彩色   二、开始实现,慢慢入坑 由于用到了RecyclerView,所以我们的设……继续阅读 »

gql 3年前 (2021-10-04) 1465浏览

C/C++编译

关于C++全局对象不调用构造函数的问题

关于C++全局对象不调用构造函数的问题
背景 我们知道main函数之外的全局变量,如果在不同的cpp文件,其构造函数的执行顺序是不可控,可能会出现指针指飞等异常,因此,构造函数里只做一些简单的变量的初始化。而在STM32平台使用C++编码的过程中,我发现全局对象和静态对象,在使用中出现异常,我能够在程序中调用这个对象的方法。但是执行后与预期结果不符。   分析 通过串口打印这个对象的属性……继续阅读 »

gql 3年前 (2021-08-23) 1151浏览

andriod开发

EventBus初步使用

EventBus初步使用
这是GitHub地址,在我写这篇博客之前EventBus已经更新到3.2了,我们学习使用的是3.0版。EventBus库中最重要的三个点,分别是subscriber(订阅者),事件(消息),publisher(发布者)。 subscriber ——> EventBus 的register方法,传入的Activity实例进行注册,指明该Activity可……继续阅读 »

gql 4年前 (2021-07-21) 1111浏览

ucos-iii内核学习笔记

ucos-iii实现的全局变量

ucos-iii实现的全局变量
通常我们定义全局变量的做法都是在.C文件里面定义全局变量,然后在这个文件对应的头文件里面加 extern 声明,在外部文件调用的时候,包含其头文件,加入全局变量的声明(不加也是可以的,最好加上,包含 .h文件的时候已经把声明加入了) //test.c int a; //test.h extern  int  a; //main.c #inc……继续阅读 »

gql 4年前 (2021-04-23) 1118浏览

C/C++

程序编译的四个阶段

程序编译的四个阶段
编译过程可以分为四个阶段: 预处理(-E) 预处理就是对源程序中的伪指令(以#开头的指令)和特殊符号进行处理的过程。伪指令包含宏定义指令,条件编译指令和头文件包含指令。gcc对C源文件进行预处理后会输出 .i 文件。 主要处理规则如下: (1)将所有#define删除,并且展开所有的宏定义。(预处理指令1 – 宏定义!) (2)处理所有条件编译指……继续阅读 »

gql 4年前 (2021-04-23) 1133浏览