最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

RA4M2開發(fā)(3)----讀取ISL29035數(shù)據(jù),并在OLED上顯示,串口打印

2023-08-23 11:02 作者:記帖  | 我要投稿

概述

  1. 首先導(dǎo)入必要的庫文件,包括I2C驅(qū)動和OLED驅(qū)動。

  2. 在代碼中配置I2C接口,并初始化I2C驅(qū)動。

  3. 配置ISL29035傳感器,包括配置傳感器的工作模式和量程。

  4. 使用I2C讀取ISL29035傳感器的數(shù)據(jù),并將其存儲在變量中。

  5. 初始化OLED驅(qū)動,并在OLED屏幕上顯示讀取的數(shù)據(jù)。 請注意,這僅是一個大致的步驟,具體實現(xiàn)可能因硬件和軟件環(huán)境而異。 對于OLED的配置,可以查看往期的博客。 最近在弄ST和瑞薩的課程,需要樣片的可以加群申請:6_15061293 。

視頻教學(xué)

https://www.bilibili.com/video/BV1wc411g7xU/


csdn課程

csdn課程更加詳細(xì)。?https://edu.csdn.net/course/detail/36131

樣品申請

https://www.wjx.top/vm/wBbmSFp.aspx#

硬件準(zhǔn)備

首先需要準(zhǔn)備一個開發(fā)板,這里我準(zhǔn)備的是芯片型號R7FAM2AD3CFP的開發(fā)板:?

樣品申請

https://www.wjx.top/vm/wBbmSFp.aspx#

IIC配置

配置RA4M2的I2C接口,使其作為I2C master進(jìn)行通信。 對于OLED的IIC配置,可以查看往期的博客。 查看ISL29035說明書,最小電路圖如下所示。?

由于需要讀取ISL29035數(shù)據(jù),需要使用IIC接口,這里使用PMOD2上的接口(P410和P411)。?

點擊Stacks->New Stack->Connectivity -> I2C Master(r_sci_i2c)。?

查看說明書可以得知,ISL29035的地址為0x44(1000100)。?

設(shè)置IIC的配置。?

R_SCI_I2C_Open()函數(shù)原型

R_SCI_I2C_Open()函數(shù)為執(zhí)行IIC初始化,開啟配置如下所示。


R_SCI_I2C_Write()函數(shù)原型

R_SCI_I2C_Write()函數(shù)是向IIC設(shè)備中寫入數(shù)據(jù),寫入格式如下所示。


R_SCI_I2C_Read()函數(shù)原型

R_SCI_I2C_Read()函數(shù)是向IIC設(shè)備中讀取數(shù)據(jù),讀取格式如下所示。


sci_i2c_master_callback()回調(diào)函數(shù)

對于數(shù)據(jù)是否發(fā)送完畢,可以查看是否獲取到I2C_MASTER_EVENT_TX_COMPLETE字段。?


ISL29035寫數(shù)據(jù)

對于ISL29035寫數(shù)據(jù),手冊上的操作方式如下所示。 設(shè)備地址+操作地址+數(shù)據(jù)?

初始化程序如下所示。


ISL29035讀數(shù)據(jù)

對于ISL29035讀數(shù)據(jù),手冊上的操作方式如下所示。 設(shè)備地址+操作地址+設(shè)備地址+數(shù)據(jù)讀取?

讀取操作函數(shù)如下所示,先發(fā)送操作地址,在進(jìn)行讀取。


ISL29035初始化

  1. 讀取設(shè)備ID,查看是否鏈接上

  2. 清除標(biāo)志位

  3. 確保芯片處于停止模式

  4. 設(shè)置分辨率

  5. 設(shè)置模式,如單次模式 讀取設(shè)備ID使用0x0F指令,可以判斷DEVICE ID BITS (B3-B5),之后需要對BROWNOUT STATUS BIT - BOUT (B7)清0。?

初始化的時候需要確保芯片處于停止模式,需要對0x00指令的OPERATION MODE BITS (B5-B7)寫入000。?

設(shè)置分辨率可以通過0x01指令,光照強度有4種模式,1k, 4k, 16k和64k,通過FULL SCALE LUX RANGE (B0-B1)進(jìn)行設(shè)置;ADC分辨率也有4種模式,通過ADC RESOLUTION (B3-B2)進(jìn)行設(shè)置。

設(shè)置采樣模式,可以通過0x00指令,對OPERATION MODE BITS (B5-B7)寫入010。?


ISL29035讀取光照強度

設(shè)置采樣模式,可以通過0x00指令,對OPERATION MODE BITS (B5-B7)寫入010。?

不同的ADC精度需要等待的時間不同,16位的等待時間最久,需要105ms。?

對于讀取數(shù)據(jù),可以使用Data Registers (Addresses: 0x02 and 0x03),高位字節(jié)通過0x03讀取,低位字節(jié)通過0x02讀取,之后進(jìn)行組合,就是完整的數(shù)據(jù)。?

讀取到原始數(shù)據(jù)之后,可以通過下面公式計算光照強度。?


實現(xiàn)效果

正常顯示數(shù)據(jù)。?


同時可以通過串口打印數(shù)據(jù)。?


由于設(shè)置光照采樣為1K,故只能讀取到999。?


重新設(shè)置光照采樣范圍為4k,就可以讀取0-4K的范圍了,具體設(shè)置需要考慮使用環(huán)境。?


主程序


Digital_Light_ISL29035.h



RA4M2開發(fā)(3)----讀取ISL29035數(shù)據(jù),并在OLED上顯示,串口打印的評論 (共 條)

分享到微博請遵守國家法律
定日县| 浏阳市| 通化市| 博白县| 太白县| 阿克苏市| 新晃| 错那县| 永泰县| 治多县| 洱源县| 隆安县| 博白县| 黎城县| 南涧| 金沙县| 广水市| 胶州市| 东阳市| 河北区| 贵定县| 三明市| 乐亭县| 洛南县| 固始县| 平利县| 青州市| 湾仔区| 汉寿县| 土默特右旗| 扶风县| 特克斯县| 无棣县| 扎兰屯市| 普安县| 珲春市| 甘孜县| 正镶白旗| 穆棱市| 石棉县| 乌苏市|