1. 程式人生 > >Edison平臺eclipse環境下通過MRAA庫使用IIC、SPI、UART例程(BMI160、MS8607)

Edison平臺eclipse環境下通過MRAA庫使用IIC、SPI、UART例程(BMI160、MS8607)

MRAA庫IIC例程:

以下程式是操作MS8607感測器

mraa_init();
/* initialize I2C on bus 0 */
m_i2c = mraa_i2c_init(1);
mraa_i2c_frequency(m_i2c,MRAA_I2C_FAST);//400K
/* now run in a loop 10 times, reading the seconds */
/* register and printing it.*/
mraa_i2c_address(m_i2c, 0x76);
//mraa_i2c_address(m_i2c, 0x0f);
mraa_i2c_write_byte(m_i2c, 0x1e);
while(1)//iic1
{
char buf = 0;
char cdata = 0x00;
char buff[2];
mraa_i2c_address(m_i2c, 0x76);
mraa_i2c_write_byte(m_i2c, 0xa0);
buff[0] = mraa_i2c_read_byte(m_i2c);
buff[1] = mraa_i2c_read_byte(m_i2c);
printf("buff[0],buff[1]: 0x%x,0x%x\n", buff[0],buff[1]);
sleep(1);
}

MRAA庫SPI例程:

以下程式是操作BMI160感測器,

int test_spi(void)
{
printf("test_spi\r\n");
mraa_init();
spi = mraa_spi_init(0);
if(NULL == spi)
{
  printf("Initialization of spi failed, check syslog for details, exit...\n");
}
printf("SPI initialised successfully\n");
mraa_spi_mode(spi,MRAA_SPI_MODE0);
mraa_spi_frequency(spi, 400000);
cs_init();
unsigned char address[3] = {0xC0,0x55,0xff};
unsigned char cmd[2] = {0xff,0xff};
unsigned char recv[3] = {0,0,0};
mraa_spi_transfer_buf(spi,cmd,recv,1);
mraa_gpio_write(d_pin, 1);
while (1) {
mraa_gpio_write(d_pin, 0);
//mraa_spi_write_buf(spi, recv, 2);
mraa_spi_transfer_buf(spi,address,recv,2);
mraa_gpio_write(d_pin, 1);
printf("spi_read_16bits-%x-%x\n", recv[0], recv[1]);
sleep(1);
}
}

MRAA庫UART例程:

int uart_init(void)
{
    mraa_uart_context uart;
    uart = mraa_uart_init(0);
    printf("test_uart\r\n");
    if (uart == NULL) {
        fprintf(stderr, "UART failed to setup\n");
        return EXIT_FAILURE;
    }
    mraa_uart_set_baudrate(uart,115200);
    mraa_uart_set_mode(uart,8,MRAA_UART_PARITY_NONE,1);
    mraa_uart_set_flowcontrol(uart,0,0);
    char *buffer = "this is uart\n";
    int r = 0;
    while(1)
        {
                r = mraa_uart_write(uart, buffer,13);
                usleep(30000);
                printf("send return:%d\r\n",r);
        }
    mraa_uart_stop(uart);


    mraa_deinit();


    return EXIT_SUCCESS;
}

相關推薦

Edison平臺eclipse環境通過MRAA使用IICSPIUARTBMI160MS8607

MRAA庫IIC例程:以下程式是操作MS8607感測器mraa_init();/* initialize I2C on bus 0 */m_i2c = mraa_i2c_init(1);mraa_i2c_frequency(m_i2c,MRAA_I2C_FAST);//400

MySQL多例項的環境,伺服器端本地連線到指定例項的問題sock方式連線

涉及到sock連線的問題。 為了測試MySQL的某些個特性,在一個機器上安裝了多個MySQL的例項,如下截圖,有兩個例項,一個埠是8000,一個埠是8001。在使用mysql -uroot -p -P8001連線至埠號為8001的MySQL例項的時候,show variables like '%po

Openstack學習筆記-在Win環境通過XManager(xshell)遠端開啟eclipse

1.首先關閉防火牆 sudo ufw disable 2.安裝協議 sudo apt-get install xrdp sudo apt-get install vnc4server tightvncserver sudo apt-get in

Linux樂彩平臺搭建環境Memcached安裝及問題解決

https 問題 3.2 解決 問題解決 lin 新版 all ann 一. 樂彩平臺搭建安裝論壇:haozbbs.com Q1446595067 步驟 1.1 安裝libevent,當前最新版本為2.1.8,官網:http://libevent.org/ wget htt

eclipse環境如何配置tomcat

分享圖片 runtime sdn https env title 自己 cli 配置tomcat 打開Eclipse,單擊“Window”菜單,選擇下方的“Preferences”。 單擊“Server”選項,選擇下方的“Runtime Environments”。

Linux環境通過rpm安裝gcc的順序

首先檢視Linux版本: [[email protected] ~]# lsb_release -a LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3

Ubuntu16.04環境通過Cmake管理Opencv專案

Ubuntu16.04環境下通過Cmake管理Opencv專案 1、新建qt cmake工程 New Project -> Non-Qt Project -> Plain C++ Application 2、CMakeLists.txt檔案內

eclipse環境Python報錯"undefined variable from import..."的解決方案

  想用http.client這個包,結果老是報這個錯。但是仍然能執行,百度後才知道是eclipse搞得鬼   解決方法: window -- preferences -- pydev -- editor -- code analysis -- Undefined -- undefi

win7 系統eclipse環境測試 執行hadoop 的 wordcount mapreduce。

上篇介紹了在linux下測試執行 hadoop 的wordcount 例子後,就想著怎麼在eclipse 下編寫mapreduce函式,連結hadoop叢集計算呢。 linux下測試執行 hadoop 的wordcount 參考:https://mp.csdn.net/mdeditor/

eclipse環境配置OpenCV環境

最近有專案需要用到OpenCV,四處查詢資料開始了OpenCV的環境搭建,首先看了在vc6.0的環境下搭建OpenCV,發現vc6.0只能搭建低版本的OpenCV(貌似是2.0以前的版本),然後看了Visual Studio2015下搭建OpenCV環境,折騰了半天,受電腦儲存空間的限制還是放棄了。

eclipse環境報錯:log cannot be resolved

在eclipse環境下使用@Slf4j註解時,出現了log cannot be resolved這個異常。經過排查發現是缺少lombok外掛的問題。解決方式當然是在eclipse中安裝lombok外掛啦。 這裡報錯是因為沒有lombok-1.16.20.jar這個外掛 下載完成以後,在

Windows環境Python 安裝 is not a supported wheel on this platform解決辦法【轉】

Windows環境下Python 安裝庫 is not a supported wheel on this platform解決辦法 在使用python進行pdf轉換圖片時,需要PythonMagick庫,但下載了許多whl都無法解決 解決方案 可能的原因

Linux環境通過docker搭建PHP的LAMP開發環境

想必作為一個Web開發的程式設計師,近些年對docker一定不會陌生,Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。使用dock

Gradle 錯誤:Eclipse環境gradle報錯Could not target platform: 'Java SE 10' using tool chain: 'JDK 8 (1.8)'.

問題簡述 當使用gradle 的時候,在build.gradle 檔案中,通過如下指令碼指定程式碼的版本。 project.sourceCompatibility=1.10 project.targetCompatibility=1.10 這個問題其實已經很明

筆記80 | Eclipse環境利用NDK編譯SO檔案

準備 1.Eclipse工作環境 2.NDK 下載地址 ,選擇一個版本對應下載之後解壓,注意路徑不要有中文,請直接使用版本【android-ndk-r14b】,不要問為什麼,都是淚; 然後再環境變數的path中新增路徑;如圖 接著cmd中輸入ndk-build

eclipse環境部署到Tomcat中的專案目錄缺失class檔案或者不更新

首先要確定project選項裡的Build Automatically勾選上了(自動編譯)。 因為在專案中可能存在一些問題,比如說maven Install 中有錯誤但沒有發現,就會導致eclipse在編譯中出現錯誤而跳過。 在專案的proprites選項中如下圖配置,將Abort buil

eclipse環境:lombok安裝及使用

lombok:通過註解方式減少POJO類的getter和setter等方法來消除冗餘程式碼量 安裝 1.下載 lombok.jar 2.官網說是可以雙擊安裝,,,我用這種方法不可行 2.

eclipse環境如何手動安裝lombok詳解

lombok官網:https://projectlombok.org/ jar包下載路徑:https://projectlombok.org/download 安裝步驟 1.下載 lombok.jar 2.手動安裝 (1)將lombok.jar移到eclipse的安裝目錄 (2)在ec

Qt通過packet實現ARP資料包的傳送和接收

Qt中暫時據我瞭解暫時沒有對底層網絡卡操作的類和相關庫,這次通過ARP協議寫的區域網ip搜尋程式都是採用微軟的底層網絡卡操作相關庫,此次主要了libpacket.a和libwpcap.a庫。操作步驟如下: (2)      到http://www.winpcap.org/

eclipse環境如何配置tomcat,並且把專案部署到Tomcat伺服器上

eclipse環境下如何配置tomcat 開啟Eclipse,單擊“Window”選單,選擇下方的“Preferences”。 單擊“Server”選項,選擇下方的“Runtime Enviro