Edison平台eclipse环境下通过MRAA库使用IIC、SPI、UART例程(BMI160、MS8607)
来源:互联网 发布:udp广播 会堵塞网络吗 编辑:程序博客网 时间:2024/06/03 21:20
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库使用IIC、SPI、UART例程(BMI160、MS8607)
- Edison 物联网:使用MRAA发挥平台输入输出能力
- SPI、IIC、UART区别
- SPI、IIC、UART区别
- SPI、IIC、UART区别
- SPI、IIC、UART区别
- SPI、IIC、UART区别
- UART、SPI、IIC
- uart,iic,spi小结
- Intel Edison C++ 开发之I2C-使用MRAA库进行C/C++开发
- 因特尔Edison第2站--mraa下gpio
- SPI和IIC和Uart
- IIC、SPI、UART的区别
- SPI、UART和IIC区别
- IIC SPI UART JTAG总结
- UART, SPI, IIC对比和总结
- UART、IIC、SPI串行通信协议小结
- RS232,RS422,RS485,UART,IIC,SPI总结
- java web中相对路径和绝对路径的获取
- Android 截屏
- Nodejs 的下载、安装和环境变量配置
- jquery select chosen 动态绑定值
- kafka设计与原理
- Edison平台eclipse环境下通过MRAA库使用IIC、SPI、UART例程(BMI160、MS8607)
- Java中堆内存和栈内存详解
- bootstrap学习总结简单整理1
- Java 集合系列09之 Map架构
- Activity,Fragment绑定生命周期,实现EventBus的自动注册、自动注销。
- [量亿数据-指数-期货数据]沙特不减产与石油市场博弈论
- 从30岁至35岁:为你的生命多积累一些厚度
- Mac OS终端命令
- Android studio 开发遇到Error:No resource identifier found for attribute 'roundIcon' in package 'android'