存档

2015年5月 的存档

Sqlite3 写入数据库失败:attempt to write a readonly database.

2015/05/24 7,993

问题及解决办法

一个Android程序在大部分手机上运行正常,在某一款手机(华为荣耀7)上运行失败。具体表现为在写入Sqlite数据库时出现Sqlite3Exception :attempt to write a readonly database.

在仔细检查sqlite3_open/sqlite3_open_v2的参数、apk的SD卡读取权限、sqlite数据库的文件读写权限后,并没有发现任何问题,那么分析问题可能出在NDK与机器架构上了。

查看该机器使用的是arm64位CPU.然而在application.mk文件里,APP_ABI 并未配置64位选项。

配置

 APP_ABI   := armeabi-v7a arm64-v8a

后再使用NDK编译 ,解决sqlite3的Readonly的问题。

 

 

树莓派 + DHT11 获取温度与湿度

2015/05/12 7,478

§§ DHT11介绍

DHT11是一款含有已校准数字信号输出的温湿度复合传感器。包括一个电阻式感湿元件和一个NTC测温元件,可与8位单片机相连接。是一款广泛使用是电子元器件。DHT11的一般形态如下图:

DHT11采用四PIN引bKKNC脚。

  • 引脚1:VCC.  接入3~5.5V直流电源。
  • 引脚2:Data.  串行数据总线
  • 引脚3:N/A.  空引脚
  • 引脚4:GND.  接地线

DHT11的供电电压为 3-5.5V。传感器上电后,要等待 1s 以越过不稳定状态.电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。

串行数据总线用于和单片机进行数据通讯和同步。一次通信时间在4ms左右,传输40bit数据,高位先出。数据协议8位为一组,由高至底分别为:

  • 8bit  湿度整数部分
  • 8bit  湿度小数部分
  • 8bit  温度整数部分
  • 8bit  温度小数部分
  • 8bit  检验和

dht11_data

 

继续阅读