18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用PSoC 6制作完整的測(cè)試系統(tǒng)來與BMI160進(jìn)行通話

設(shè)計(jì)idea ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-05-24 09:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我一直在研究一系列PSoC 6項(xiàng)目,以準(zhǔn)備一些新視頻并在Embedded World上使用。對(duì)于其中一個(gè)項(xiàng)目,我需要一個(gè)動(dòng)作敏感的遙控器......并且我們很方便地將一臺(tái)博世BMI160運(yùn)動(dòng)傳感器放到了CY8CKIT-062-BLE開發(fā)套件隨附的新CY8CKIT-028-EPD屏蔽罩上。

在本文中,我將向您展示如何使用PSoC 6制作完整的測(cè)試系統(tǒng)來與BMI160進(jìn)行通話。步驟是:

  1. 克隆博世BMI160驅(qū)動(dòng)程序庫(kù)

  2. 創(chuàng)建一個(gè)新的PSoC 6項(xiàng)目并添加驅(qū)動(dòng)程序庫(kù)

  3. 為博世驅(qū)動(dòng)程序創(chuàng)建HAL

  4. 創(chuàng)建主要固件并進(jìn)行測(cè)試

克隆博世BMI160驅(qū)動(dòng)程序庫(kù)

當(dāng)我開始這個(gè)時(shí),我知道董事會(huì)有一個(gè)運(yùn)動(dòng)傳感器,但我不知道是什么樣的。我假設(shè)它是基于I2C的傳感器,所以我連接了橋接控制面板并探測(cè)I2C總線。但是這就是它所說的:

橋梁控制面板

那么......到底什么?然后,我看了看董事會(huì),試圖弄清楚發(fā)生了什么......低下,看看......我的電路板是在添加運(yùn)動(dòng)傳感器之前完成的原型。這里是:

這里是一塊帶有傳感器的電路板。

當(dāng)我插入該板并使用Bridge Control Panel進(jìn)行測(cè)試時(shí),我會(huì)得到:

接下來我做的就是看原理圖。OK,您可以看到慣性測(cè)量單元(IMU)是連接到I2C總線的BMI160。另一件很酷的事情是,devkit團(tuán)隊(duì)連接了兩條中斷線。這些線路通常用于IMU向PSoC 6發(fā)送信號(hào)(例如,用戶可能開始移動(dòng))。

查看原理圖后,下一步是查看BMI160數(shù)據(jù)表并嘗試弄清楚如何與設(shè)備進(jìn)行連接。通常這些設(shè)備有一堆寄存器,其位數(shù)字段的數(shù)量令人難以置信。這一直是這個(gè)過程中不好玩的部分。但是這次當(dāng)我去博世網(wǎng)站上的BMI160設(shè)備頁面時(shí),有一個(gè)按鈕顯示“文檔和驅(qū)動(dòng)程序”,當(dāng)您點(diǎn)擊它時(shí),會(huì)有一個(gè)鏈接到BMI160驅(qū)動(dòng)程序的GitHub。得分了!

要做到這一點(diǎn),你只需要“git clonegit@github.com:BoschSensortec / BMI160_driver.git”

使用博世BMI160驅(qū)動(dòng)程序庫(kù)創(chuàng)建新的PSoC 6項(xiàng)目

所以,讓我們繼續(xù)測(cè)試它。首先創(chuàng)建一個(gè)新的PSoC 63項(xiàng)目

使用空白示意圖

給它一個(gè)名字

添加Retarget I / O和FreeRTOS(從構(gòu)建設(shè)置菜單中)

添加一個(gè)UART和一個(gè)I2C主控

要使I2C成為主設(shè)備,您需要雙擊并將其更改為主設(shè)備

然后分配引腳

運(yùn)行“構(gòu)建 - >生成應(yīng)用程序”來獲得您需要的所有PDL固件。

編輯stdio_user.h以使用UART(掃描stdio_user.h找到正確的位置)

#include"project.h"
/*Mustremainuncommentedtousethisutility*/
#defineIO_STDOUT_ENABLE
#defineIO_STDIN_ENABLE
#defineIO_STDOUT_UARTUART_1_HW
#defineIO_STDIN_UARTUART_1_HW
將“BMI_driver”目錄添加到CM4項(xiàng)目的包含路徑。(要進(jìn)入此菜單,請(qǐng)右鍵單擊該項(xiàng)目并選擇“構(gòu)建設(shè)置”)

將Bosch Driver文件添加到項(xiàng)目中

為博世驅(qū)動(dòng)程序創(chuàng)建HAL

使用博世驅(qū)動(dòng)器很簡(jiǎn)單。你所需要做的就是更新HAL。

  1. 提供寫入I2C寄存器的功能

  2. 提供讀取I2C寄存器的功能

  3. 提供延遲指定毫秒數(shù)的功能

  4. 創(chuàng)建一個(gè)結(jié)構(gòu)來保存初始化信息和函數(shù)指針

該器件實(shí)現(xiàn)了賽普拉斯所稱的“EZI2C”協(xié)議,該協(xié)議也稱為I2C EEPROM協(xié)議。該器件被組織為一系列寄存器。每個(gè)寄存器都有一個(gè)從0-> 0xFF(單字節(jié)地址)的地址。要寫入注冊(cè)表,您需要

  1. 發(fā)送I2C啟動(dòng)

  2. 發(fā)送7位I2C地址

  3. 發(fā)送一個(gè)寫入位(aka a 0)

  4. 發(fā)送要寫入的寄存器地址(不要將I2C地址與內(nèi)部BMI160地址混淆)

  5. 發(fā)送您想要寫入的8位值

  6. 發(fā)送一個(gè)停止

EZI2C的一個(gè)很酷的事情是,它可以跟蹤地址,并在每次寫入時(shí)自動(dòng)遞增寄存器地址。這意味著您可以編寫一個(gè)地址序列,而無需為每個(gè)地址執(zhí)行完整的事務(wù)。

鑒于引入寫函數(shù)很簡(jiǎn)單:

staticint8_tBMI160BurstWrite(uint8_tdev_addr,uint8_treg_addr,uint8_t*data,uint16_tlen)
{

Cy_SCB_I2C_MasterSendStart(I2C_1_HW,dev_addr,CY_SCB_I2C_WRITE_XFER,0,&I2C_1_context);
Cy_SCB_I2C_MasterWriteByte(I2C_1_HW,reg_addr,0,&I2C_1_context);
for(inti=0;i

為了閱讀你做一個(gè)類似的交易來寫。具體的步驟是:

  1. 發(fā)送I2C啟動(dòng)

  2. 發(fā)送7位I2c地址

  3. 發(fā)送一個(gè)WRITE位aka 0

  4. 發(fā)送您想要讀取的寄存器地址

  5. 發(fā)送I2C重新啟動(dòng)

  6. 讀一個(gè)字節(jié)

  7. 發(fā)送NAK

  8. 發(fā)送一個(gè)停止

讀取事務(wù)與寫入類似,您可以通過發(fā)送ACK繼續(xù)讀取連續(xù)字節(jié)。您讀取的最后一個(gè)字節(jié)應(yīng)該是NAK,以告訴遠(yuǎn)程設(shè)備您正在讀取。鑒于代碼也很簡(jiǎn)單。

//ThisfunctionsupportstheBMP180libraryandreadI2CRegisters
staticint8_tBMI160BurstRead(uint8_tdev_addr,uint8_treg_addr,uint8_t*data,uint16_tlen)
{

Cy_SCB_I2C_MasterSendStart(I2C_1_HW,dev_addr,CY_SCB_I2C_WRITE_XFER,0,&I2C_1_context);
Cy_SCB_I2C_MasterWriteByte(I2C_1_HW,reg_addr,0,&I2C_1_context);
Cy_SCB_I2C_MasterSendReStart(I2C_1_HW,dev_addr,CY_SCB_I2C_READ_XFER,0,&I2C_1_context);
for(inti=0;i

我的讀寫功能都有一個(gè)錯(cuò)誤。那個(gè)錯(cuò)誤是?沒有錯(cuò)誤檢查。我看到了一些間歇性的奇怪現(xiàn)象,其中I2C總線被鎖定,最終需要重置才能修復(fù)。這可以通過檢查I2C功能上的錯(cuò)誤代碼來防止。

既然我們有讀寫功能,我們可以設(shè)置我們的設(shè)備:要做到這一點(diǎn):

  1. 設(shè)置一個(gè)類型為bmi160_dev的結(jié)構(gòu)

  2. 初始化函數(shù)指針

  3. 初始化設(shè)備的設(shè)置

  4. 最后發(fā)送設(shè)置

staticstructbmi160_devbmi160Dev;

staticvoidsensorsDeviceInit(void)
{

int8_trslt;
vTaskDelay(500);//guess

/*BMI160*/
bmi160Dev.read=(bmi160_com_fptr_t)BMI160BurstRead;
bmi160Dev.write=(bmi160_com_fptr_t)BMI160BurstWrite;
bmi160Dev.delay_ms=(bmi160_delay_fptr_t)vTaskDelay;

bmi160Dev.id=BMI160_I2C_ADDR;//I2Cdeviceaddress

rslt=bmi160_init(&bmi160Dev);//initializethedevice
if(rslt==0)
{
printf("BMI160I2Cconnection[OK].
");
bmi160Dev.gyro_cfg.odr=BMI160_GYRO_ODR_800HZ;
bmi160Dev.gyro_cfg.range=BMI160_GYRO_RANGE_125_DPS;
bmi160Dev.gyro_cfg.bw=BMI160_GYRO_BW_OSR4_MODE;

/*SelectthepowermodeofGyroscopesensor*/
bmi160Dev.gyro_cfg.power=BMI160_GYRO_NORMAL_MODE;

bmi160Dev.accel_cfg.odr=BMI160_ACCEL_ODR_1600HZ;
bmi160Dev.accel_cfg.range=BMI160_ACCEL_RANGE_4G;
bmi160Dev.accel_cfg.bw=BMI160_ACCEL_BW_OSR4_AVG1;
bmi160Dev.accel_cfg.power=BMI160_ACCEL_NORMAL_MODE;

/*Setthesensorconfiguration*/
bmi160_set_sens_conf(&bmi160Dev);
bmi160Dev.delay_ms(50);
}
else
{
printf("BMI160I2Cconnection[FAIL].
");
}
}

創(chuàng)建主要固件并進(jìn)行測(cè)試

最后,我通過運(yùn)行打印出加速數(shù)據(jù)的無限循環(huán)來測(cè)試固件。

voidmotionTask(void*arg)
{
(void)arg;
I2C_1_Start();
sensorsDeviceInit();
structbmi160_sensor_dataacc;

while(1)
{

bmi160_get_sensor_data(BMI160_ACCEL_ONLY,&acc,NULL,&bmi160Dev);
printf("x=%4dy=%4dz=%4d
",acc.x,acc.y,acc.z,);
vTaskDelay(200);
}
}

現(xiàn)在你應(yīng)該有這樣的:

最后整個(gè)節(jié)目一舉成名

#include"project.h"
#include"FreeRTOS.h"
#include"task.h"
#include
#include"bmi160.h"

staticstructbmi160_devbmi160Dev;

staticint8_tBMI160BurstWrite(uint8_tdev_addr,uint8_treg_addr,uint8_t*data,uint16_tlen)
{

Cy_SCB_I2C_MasterSendStart(I2C_1_HW,dev_addr,CY_SCB_I2C_WRITE_XFER,0,&I2C_1_context);
Cy_SCB_I2C_MasterWriteByte(I2C_1_HW,reg_addr,0,&I2C_1_context);
for(inti=0;i
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PSoC
    +關(guān)注

    關(guān)注

    12

    文章

    177

    瀏覽量

    94325
  • BMI160
    +關(guān)注

    關(guān)注

    1

    文章

    7

    瀏覽量

    8276
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    即時(shí)通話軟件音頻傳輸質(zhì)量測(cè)試方案介紹

    本套測(cè)試方案的核心目的是通過POLQA(Perceptual Objective Listening Quality Assessment)主觀音質(zhì)評(píng)價(jià)測(cè)試反映即時(shí)通話軟件在使用過程
    的頭像 發(fā)表于 08-10 15:21 ?3276次閱讀
    即時(shí)<b class='flag-5'>通話</b>軟件音頻傳輸質(zhì)量<b class='flag-5'>測(cè)試</b>方案介紹

    PSoC 6 BLE PIONEER KIT燒錄Bluetooth_LE_Battery_Server的demo進(jìn)行調(diào)試時(shí),無法成功燒錄的原因?

    我在使用PSoC 6 BLE PIONEER KIT調(diào)試時(shí),嘗試燒錄Bluetooth_LE_Battery_Server的demo進(jìn)行調(diào)試時(shí),發(fā)現(xiàn)無法成功燒錄,并提示如下信息,請(qǐng)問下是什么原因呢
    發(fā)表于 07-01 07:37

    季豐電子自建引腳完整測(cè)試能力

    季豐可靠性測(cè)試項(xiàng)目拓展AEC-Q100車規(guī)芯片驗(yàn)證C6:LI - Lead Integrity 引腳完整性Q100要求。
    的頭像 發(fā)表于 06-23 09:22 ?748次閱讀
    季豐電子自建引腳<b class='flag-5'>完整</b>性<b class='flag-5'>測(cè)試</b>能力

    信號(hào)完整測(cè)試基礎(chǔ)知識(shí)

    ,高速系統(tǒng)的信號(hào)完整性直接關(guān)系到數(shù)據(jù)傳輸?shù)目煽啃院?b class='flag-5'>系統(tǒng)的整體性能。因此,深入理解信號(hào)完整性的基本原理和測(cè)試方法對(duì)于確保高速
    的頭像 發(fā)表于 04-24 16:42 ?2971次閱讀
    信號(hào)<b class='flag-5'>完整</b>性<b class='flag-5'>測(cè)試</b>基礎(chǔ)知識(shí)

    使用羅德與施瓦茨RTE1104示波器進(jìn)行電源完整測(cè)試

    電源完整性(Power Integrity, PI)測(cè)試在現(xiàn)代電子系統(tǒng)設(shè)計(jì)中至關(guān)重要。隨著電子設(shè)備對(duì)電源質(zhì)量的要求越來越高,電源噪聲和瞬態(tài)變化對(duì)系統(tǒng)性能的影響愈發(fā)顯著。本文將詳細(xì)介紹如
    的頭像 發(fā)表于 04-23 16:51 ?502次閱讀
    使用羅德與施瓦茨RTE1104示波器<b class='flag-5'>進(jìn)行</b>電源<b class='flag-5'>完整</b>性<b class='flag-5'>測(cè)試</b>

    普源DHO3000系列示波器電源完整測(cè)試

    整個(gè)系統(tǒng)的性能和可靠性。普源DHO3000系列示波器憑借其卓越的性能和豐富的功能,成為進(jìn)行電源完整測(cè)試的絕佳工具。本文將詳細(xì)探討基于普源DHO3000系列示波器的電源
    的頭像 發(fā)表于 04-15 14:45 ?463次閱讀
    普源DHO3000系列示波器電源<b class='flag-5'>完整</b>性<b class='flag-5'>測(cè)試</b>

    技術(shù)資訊 | 信號(hào)完整測(cè)試基礎(chǔ)知識(shí)

    本文重點(diǎn)信號(hào)完整測(cè)試需要從測(cè)試電路板和原型獲取實(shí)驗(yàn)數(shù)據(jù)并加以分析。在理想的工作流程中,還會(huì)仿真信號(hào)完整性指標(biāo),并將其與實(shí)際測(cè)量值進(jìn)行比較。
    的頭像 發(fā)表于 04-11 17:21 ?1740次閱讀
    技術(shù)資訊 | 信號(hào)<b class='flag-5'>完整</b>性<b class='flag-5'>測(cè)試</b>基礎(chǔ)知識(shí)

    怎樣使用防水測(cè)試儀對(duì)手機(jī)進(jìn)行測(cè)試

    在當(dāng)今手機(jī)不離手的時(shí)代,手機(jī)的防水性能越來越重要。那么,如何使用防水測(cè)試測(cè)試手機(jī)呢?以下是一個(gè)簡(jiǎn)單易懂的操作過程的詳細(xì)說明。一、前期準(zhǔn)備(1)選擇合適的防水測(cè)試儀:根據(jù)手機(jī)的尺寸和
    的頭像 發(fā)表于 02-27 16:58 ?1481次閱讀
    怎樣使用防水<b class='flag-5'>測(cè)試</b>儀對(duì)手機(jī)<b class='flag-5'>進(jìn)行</b><b class='flag-5'>測(cè)試</b>

    是德科技發(fā)布LPDDR6完整解決方案,助力內(nèi)存設(shè)計(jì)與測(cè)試

    近日,是德科技正式推出了針對(duì)LPDDR6(第六代低功耗雙倍數(shù)據(jù)速率內(nèi)存標(biāo)準(zhǔn))的完整設(shè)計(jì)和測(cè)試解決方案,旨在引領(lǐng)內(nèi)存系統(tǒng)技術(shù)創(chuàng)新的新潮流。 該解決方案覆蓋了從設(shè)計(jì)到
    的頭像 發(fā)表于 02-13 10:39 ?643次閱讀

    基于PSOC6的智能環(huán)境監(jiān)控系統(tǒng)

    本項(xiàng)目是基于PSOC6進(jìn)行開發(fā),它具有以下特性Psoc6-evaluationkit-062S2是RT-Thread聯(lián)合英飛凌推出的一款集成32位雙核CPU子系統(tǒng)(ARMCortex-
    的頭像 發(fā)表于 01-07 19:54 ?1117次閱讀
    基于<b class='flag-5'>PSOC6</b>的智能環(huán)境監(jiān)控<b class='flag-5'>系統(tǒng)</b>

    為什么活動(dòng)現(xiàn)場(chǎng)都是使用內(nèi)部通話系統(tǒng)而不是對(duì)講機(jī)?

    無論多好的對(duì)講機(jī),本質(zhì)的核心技術(shù)采用半雙工通信,同一個(gè)頻道下聽和說無法同時(shí)進(jìn)行,且通話時(shí)需要長(zhǎng)按PTT按鍵,這對(duì)于直播現(xiàn)場(chǎng)的崗位很不適用,如導(dǎo)播需要雙手操作切換臺(tái),攝像師需要操作攝像機(jī)等,這個(gè)時(shí)候
    發(fā)表于 12-16 16:19

    即時(shí)通話軟件音頻傳輸質(zhì)量測(cè)試方案

    一、方案概述 度緯科技本套測(cè)試方案的核心目的是通過POLQA(Perceptual Objective Listening Quality Assessment)主觀音質(zhì)評(píng)價(jià)測(cè)試反映即時(shí)通話
    的頭像 發(fā)表于 12-03 14:34 ?975次閱讀
    即時(shí)<b class='flag-5'>通話</b>軟件音頻傳輸質(zhì)量<b class='flag-5'>測(cè)試</b>方案

    基于公網(wǎng)的全雙工無線導(dǎo)播通話系統(tǒng)在廣電行業(yè)如何應(yīng)用?

    無線全雙工通話系統(tǒng)在廣播電視制作中已廣泛應(yīng)用,用于演播室導(dǎo)播與攝像師之間的溝通,主持人輔助提醒,現(xiàn)場(chǎng)制作轉(zhuǎn)播車以及EFP系統(tǒng)等。全雙工
    的頭像 發(fā)表于 11-26 15:10 ?800次閱讀
    基于公網(wǎng)的全雙工無線導(dǎo)播<b class='flag-5'>通話</b><b class='flag-5'>系統(tǒng)</b>在廣電行業(yè)如何應(yīng)用?

    TIKOOL太酷內(nèi)通助力央視廣播電視臺(tái)實(shí)現(xiàn)遠(yuǎn)程tally/云Tally/云通話系統(tǒng)

    中央廣播電視臺(tái)亞太總站CMG采用HIVE云制作平臺(tái),通過TIKOOL(太酷)HY系列內(nèi)部通話系統(tǒng)解決多主機(jī)組網(wǎng)、靈活連接、多Tally信號(hào)類型等技術(shù)難題,實(shí)現(xiàn)云通話、云Tally。
    的頭像 發(fā)表于 11-25 17:20 ?1028次閱讀
    TIKOOL太酷內(nèi)通助力央視廣播電視臺(tái)實(shí)現(xiàn)遠(yuǎn)程tally/云Tally/云<b class='flag-5'>通話</b><b class='flag-5'>系統(tǒng)</b>

    TIKOOL太酷信息-數(shù)字矩陣內(nèi)部通話系統(tǒng)

    ? ? TIKOOL太酷信息數(shù)字矩陣內(nèi)部通話系統(tǒng)由IP有線通話、自組網(wǎng)無線通話、公網(wǎng)全雙工通話、軟件APP
    發(fā)表于 11-16 15:15 ?0次下載