#define iic_scl_pin gpio_pin_9
#define iic_sda_pin gpio_pin_8
#define gpio_iic gpiob
#define rcc_apb2periph_gpioiic rcc_apb2periph_gpiob
#define iic_sda_out() //輸入模式上拉下拉輸入模式 這段**要修改
#define iic_sda_in() //通用推挽輸出50mz 這個也要修改
#define sda_pin_out pbout(8)
#define scl_pin_out pbout(9)
#define sda_pin_in pbin(8)
一、從機位址
從給的資料手冊可以看出有乙個引腳addr sel用來設定晶元位址,當引腳接地時從機位址為0x29,浮空時從機位址0x39,接高電平時為0x49.在標頭檔案中採用巨集定義如下
二、tsl2561的寫/讀操作
tsl2561採用標準的iic匯流排介面,參照資料手冊容易得到2561的寫時序。時序圖,和**如下。
功能:寫命令和資料
*/void tsl2561_write(u8 command,u8 date)
在讀資料的時候,因為2561的adc的資料暫存器分為date0_low,date0_higt,date1_low,date1_higt,一共兩路每路16位。因此一次讀資料要有兩次的iic讀操作,並把date_higt移到高位。
功能:讀取乙個位元組的資料
*/u16 tsl2561_read(u8 command)
三、tsl的暫存器位址
每個暫存器位址和幾個常用的暫存器位址巨集定義如下。
timing暫存器主要設定積分時間
// tsl2561 registers
#define tsl2561_cmd 0x80
#define tsl2561_timing 0x81
#define tsl2561_reg_id 0x8a
#define tsl2561_data0_low 0x8c
#define tsl2561_data0_high 0x8d
#define tsl2561_data1_low 0x8e
#define tsl2561_data1_high 0x8f
四、command暫存器
command暫存器主要用來設定要配置的暫存器位址,其低四位就是上述暫存器位址表中的位址。
五、control 暫存器
control暫存器主要用來控制模組的上電和斷電。其值為0x03時上電為0x00時為斷電。
六、timing暫存器
timing暫存器主要用倆選擇增益和積分時間。說明和**如下。
//最後兩位設定積分時間
#define timing_13ms 0x00 //積分時間13.7毫秒
#define timing_101ms 0x01 //積分時間101毫秒
#define timing_402ms 0x02 //積分時間402毫秒
#define timing_gain_1x 0x10 //增益倍數與積分時間進行或運算
#define timing_gain_16x 0x00
七、綜合**
/*
功能:啟動tls模組
*/void tsl2561_poweron(void)
/*功能:關閉tsl模組
*/void tsl2561_powerdown(void)
/*功能:設定積分時間
引數:timing_13ms、timing_101ms、timing_402ms|
timing_gain_1x,timing_gain_16x選擇積分時間和增益,兩個或運算
*/void tsl2561_timingset(u8 time)
/*功能:初始化tsl2561模組
引數:*/
void tsl2561_init(u8 time_model)
/*功能:讀取整個位元組chanel0
引數:chanel
*/u16 tsl2561_chanel0read(void)
/*功能:讀取chanel1資料
引數:無
*/u16 tsl2561_chanel1read(void)
msp430和stm32 dht11驅動程式
最近使用msp430f5529讀取dht11的溫度和濕度資料,記錄下驅動程式,需要可移植。dht11模組是一塊溫濕度感測器模組,可以採集溫度和濕度資訊轉化為資料傳送出來,模組介紹如下 概述 dht11 是廣州奧松 生產的一款溼溫度一體化的數字感測器。該感測器包括乙個電阻式測溼元件和乙個 ntc 測溫...
linux spi驅動分析 基於STM32
linux kernel 版本2.6.30,spi驅動基於platform device,platform driver驅動模型來編寫.spi分為主從裝置,乙個主裝置下可心掛接多個從裝置,linux驅動中使用struct spi master結構來表示乙個主裝置,使用struct spi devic...
STM32 USB HID裝置驅動分析
stm32 usb hid裝置驅動分析 daniellee 2014 9 29 一 usb hid的裝置描述符分析 usb hid的裝置描述符用以下結構定義 device property device prop device property 這是裝載了多個函式指標的結構體,用於統一管理usb的多...