树莓派4b的i2c配置及wiringPi通信

树莓派4B——镜像、wiringpi库安装及编译器的配置 (我下载的是2023-05-03的64位镜像)2.下载wiringpi:方法一:使用代码,请查看其他文章。方法二:下载wiringpi库的文件夹(个人建议用这方法。 阅读详情

一、配置i2c设备
1)在终端中操作,输入指令

sudo raspi-config

2)然后会出现设置界面,然后跟着如下图片操作
在这里插入图片描述
第一项:Change User Password: 更改用户登录密码,也就是登录树莓派的raspberry 密码。点击进入就可以设置新的登陆密码。

第二项:Network Options : 网络设置, 打开这个设置后可以连接wifi,设置机器名称 ,接口启用禁止等

第三项:Boot Options : 启动时选择进入的环境(命令模式/图形化模式)

**第四项:Localisation Options :**本地化设置包含:language语言设 置/Timezone时区设置/Keyboard键盘布局/wifi country 无线wif国家设置。

第五项:Interfacing Options : 系统功能设置,包含Camera摄像头启用 / SSH启用/VNC启用/SPI启用/I2C启用/serial启用/wire/GPIO 需要用到哪些就开启哪些功能

第六项:Overclock : 超频会减少树莓派使用寿命,正常情况下不建议超频使用。

第七项: Advanced Options : 高级设置,包含扩展TF卡使用空间/显示器overscan’设置/memorySplit设置/Audio音频输出设置/分辨率设置/等等

**第八项:Update :**系统更新,用于升级更新系统

第九项:About raspi-cofnig : 关于设置的系统
在这里插入图片描述
在这里插入图片描述
最后选择“是”
3)i2c总线扫描
通过i2cdetect -l指令可以查看树莓派上的I2C总线,从返回的结果来看树莓派含有两个I2C总线,通过阅读相关的资料,树莓派1代使用I2C0,而树莓派2代使用I2C1。

pi@raspberrypi:~/wiringPi $ i2cdetect -l
i2c-1   i2c             bcm2835 I2C adapter                     I2C adapter

4)i2c设备查询
若总线上挂载I2C从设备,可通过i2cdetect扫描某个I2C总线上的所有设备。

i2cdetect -y 1

在这里插入图片描述
我挂在i2c总线上的是stm32的硬件i2c,从机地址设置为0x50(即0x28<<1)
二、通信代码指令
1、树莓派4b调用wiringPi库

#include "stdio.h"
#include "wiringPi.h"
#include "wiringPiI2C.h"
#include "pthread.h"
#include "unistd.h"

void *pthread_fun(void *arg)
{
   
   
	int fd = *((int*)arg);	
	int Tx_buf = 12;
	while(1)
	{
   
   
	    wiringPiI2CWrite(fd, Tx_buf);
	    sleep(1);
	}
	return NULL;
}

int main(int argc, char *argv[])
{
   
   
	int fd, err;
	int Rx_buf;
	pthread_t tid;

	//对wiringPi初始化
	if(wiringPiSetup() != 0)
	{
   
   
		printf("wiringPi error!\n");
		return -1;
	}
	
	//指定i2c从机设备,并初始化i2c
	fd = wiringPiI2CSetup(0x28);
	if(fd < 0)
	{
   
   
		
嵌入式人工智能(7-树莓派4B的IIC总线连接OLED显示中文与图片) 树莓派回复I2C端口名字,也可以通过i2C-tools工具测试扫描连接开发板上的任何I2C设备,新版该i2C-tools工具已经默认安装,如果没有安装,使用sudo apt-get install -y i2x-tools命令安装即可。这里有一些注意事项比较麻烦,一个是pip安装的设置安装源问题,一个是高版本的Python在树莓派linux上不让直接使用pip进行安装,需要虚拟环境。OLED使用的是单色0.96英寸显示屏,它的驱动器是SSD1306,显示尺寸为128x64像素,使用I2C通信,如下图所示。 阅读详情

相关推荐

树莓派4B学习笔记——IO通信篇(I2C)_树莓派i2c

I2C是利浦公司推出的双向二线制总线,SCL时钟线和SDA数据线,用于数据传输,按照上面提到的知识点分类I2C是串行半双工板级同步有线传输总线。一条总线挂载多个IIC接口器件-----并行连接在IIC总线上。有关一组I2C总线最多可以挂接多少个I2C器件以及I2C的详细介绍大家参考此博文有关I2C的传输流程,之前看见过以为博主把整个流程和踢球做了个类比,我觉得很形象,这里链接分享给大家有关I2C的详细知识大家参考上述博文了解就好,笔者在此不做分析了,下面进入主题:使用树莓派的I2C。

2401_87555402的博客 1931

树莓派4b引脚功能图中GPIO模式配置操作指南

深入解析树莓派4b引脚功能图,指导如何正确配置GPIO模式,掌握各引脚功能分配与操作方法,提升开发效率,是树莓派4b引脚功能图和GPIO应用的重要参考。

weixin_30205153的博客 1018

树莓派4B基于OpenCV的C++环境的串口通信

Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https://blog.csdn.net/m0_56069948/article/details/122285941 第二次积分赛我们队选择了飞控,我负责图像方面,我先简要说明一下该题中树莓派所需要的功能:用OpenCV图像处理进行巡线,同时识别红圆和绿圆。然后就是关键的一步,树莓派与飞控的通信。 树莓派将处理好的

www_xuhss_com的博客 3183

树莓派4B的I2C接口避坑指南:从设备地址检测到wiringPi配置全流程

本文提供了一份详尽的树莓派4B I2C接口实战避坑指南。从I2C接口的精准配置与启用、设备地址探测与冲突排查,到使用i2c-tools进行底层诊断,并深入解析了C语言与Python两种编程环境下的稳定驱动实现方法,帮助开发者彻底解决从设备检测失败到通信不稳定的全流程问题。

weixin_29174013的博客 299

树莓派4B实战指南——I2C驱动OLED屏幕从零到一

本文详细介绍了如何在树莓派4B上通过I2C通信驱动OLED屏幕,从硬件连接到软件配置的全过程。内容包括I2C接口启用、设备地址扫描、C语言和Python驱动代码实现,以及常见问题排查和进阶应用。适合开发者快速掌握树莓派4B与OLED屏幕的IO通信技术,实现自定义显示功能。

weixin_31858171的博客 219

基于Raspberry Pi OS的树莓派4b引脚功能图一文说清

深入解析树莓派4b引脚功能图,涵盖各引脚的用途与配置方法,帮助开发者快速掌握GPIO操作,提升项目开发效率。内容结合Raspberry Pi OS系统特性,提供实用参考。

weixin_31569663的博客 1044

树莓派与1.3英寸OLED显示器的I2C通信实践项目

OLED(有机发光二极管)是一种自发光技术,它利用了有机材料在电流通过时发光的特性。OLED显示器由多个OLED像素单元组成,这些像素单元可以单独控制,从而可以实现不同亮度和颜色的显示。每个像素单元由一对电极组成,其中一个是有机发光层,另一个通常是金属电极。当电流通过有机层时,有机分子会激发并发光,从而形成图像。OLED面板的每个像素点都是独立的,因此OLED屏幕可以实现真正的黑色(关闭像素点),对比度极高。另外,由于OLED面板是自发光,它的视角较宽,反应速度更快,适合显示动态图像。

weixin_42356162的博客 1250

树莓派4B与wiringPi:Python接口实现与应用指南

树莓派4B作为一款微型计算机,它的多功能性和经济实惠让它在多个领域大放异彩。首先,在教育领域,它被广泛用于计算机科学教学和机器人编程项目。其次,在物联网领域,树莓派4B通过各种传感器和执行器成为连接现实世界和数字世界的桥梁。此外,树莓派4B还在家庭自动化系统、媒体中心和小型服务器市场中扮演着重要角色。开发者们可以利用其GPIO(通用输入输出)接口,开发出各式各样的应用。

weixin_29097457的博客 434

WiringPi库在树莓派硬件控制中的应用

WiringPi库,最初由Gordon Henderson开发,专门为树莓派等单板计算机设计,提供了一套类似于Arduino的库函数,简化了GPIO(通用输入输出)引脚的编程。随着时间的推移,WiringPi已经发展成为物联网(IoT)领域内广受欢迎的工具之一,支持多种编程语言,例如C和Python等,并不断更新以适应新一代硬件的要求。USB(通用串行总线)接口是广泛应用于计算机和各种电子设备中的标准接口。

weixin_42361478的博客 1358

kaggle项目:纽约出租车行程时间NYC Taxi Trip Duration

纽约出租车形成时间预测(NYC Taxi Trip Duration)是Kaggle中的一个Playground竞赛。比赛数据集基于2016年纽约市黄色出租车行程记录数据,需要建立一个模型,根据单个行程属性,预测测试集中每次行程的持续时间。Kaggle项目模型XGBoost,评价指标RMSLE。

weixin_42113929的博客 2782

基于Qt与PaddleOCR的跨平台OCR工具开发实战

本文详细介绍了基于Qt与PaddleOCR开发跨平台OCR工具的实战经验。通过Qt的跨平台特性和PaddleOCR的高效识别能力,开发者可以快速构建支持Windows、Linux和macOS的OCR工具。文章涵盖了环境配置、核心功能实现、性能优化及打包发布等关键环节,特别针对中文识别、内存管理和多线程处理等常见问题提供了解决方案。

weixin_30296405的博客 84

B-Tree数据存储

SQLITE数据存储1. B-Tree的优势  在SQLite中数据库、表、索引都是通过B-Tree和B+Tree的形式进行存储的。如果采用传统的二叉树查找树、红黑树的查找深度一般为log2(N) \log{_2}(N)(其中N表示的是整个树的关键字的数目),在数据库中如果存储的资源过多,就会导致查找一个数据过程中出现较多的磁盘I/O操作,而过多的磁盘操作就会导致整个查找的效率较低,而基于二叉树的一

Promiscuous_youth的博客 1131

akshare 布林通道策略

import datetime import pandas as pd import backtrader as bt import matplotlib.pyplot as plt from datetime import datetime import matplotlib import akshare as ak %matplotlib inline class Boll_strategy(bt.Strategy): #自定义参数,每次买入1800手 params=(('size'.

qq_26742269的博客 5327

执行任务赚积分

接下来N行,每行两个空格分隔的整数(SLA和V),SLA表示任务的最晚处理时间,V表 示任务对应的积分。每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。第2个时间单位内,处理任务4,获得5个积分。输入描述:第一行为一个数N,表示有N个任务,1

面试高手的博客 4685

YOLOv8 Neck改进:BiFPN双向特征金字塔网络解析与实践

本文详细介绍了如何在YOLOv8中集成BiFPN双向特征金字塔网络,包括原理解析、代码实现、配置文件修改和性能分析。BiFPN通过双向特征融合和加权特征机制,显著提升了多尺度目标检测的性能。希望通过本文的讲解,大家能够深入理解BiFPN的工作原理,并成功将其应用到自己的目标检测项目中。如果你有任何问题或建议,欢迎在评论区留言讨论!在下一篇文章中,我们将探讨YOLOv8的其他改进技术,包括注意力机制、新的损失函数等,敬请期待!

QQ_778132974的博客 984

SpringBoot项目搭建

SpringBoot项目搭建

私信可回答各种问题~ 1004

使用 Simulink/Simscape Electrical/Stateflow,构建一个并网逆变器短路故障动态响应与恢复策略仿真模型

本文基于Simulink平台,详细介绍了并网逆变器短路故障的动态响应与恢复策略仿真方法。主要内容包括:1)构建包含热模型的高精度逆变器模型;2)模拟IGBT击穿和桥臂直通两种短路故障;3)设计基于Stateflow的微秒级快速保护逻辑;4)实现放电、去磁、自检、重启的完整恢复流程。仿真结果表明,所提出的保护方案能在200μs内有效限制故障电流,避免器件永久损坏,并通过标准化恢复流程实现系统安全重启。文章还探讨了硬件保护协同、多级保护和预测保护等高级策略,为电力电子系统安全防护提供了实用解决方案。

xiaoheshang_123的博客 103

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 树莓派 raspbian (各版本)换国内源
下一篇: 树莓派4b 安装最新wiringpi库
年少生而为人
博客等级 码龄7年 3031粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值