#include <asm/io.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/delay.h>
MODULE_LICENSE("Dual BSD/GPL");
#include "sti7105.h"
#include "stsys.h"
#include "stddefs.h"
#include "sti2c.h"
#include "stsys.h"
#define I2C1 0x01
//extern U32 at24c256_i2c1_cfg(void);
ST_DeviceName_t PIO_DeviceName[] = {"PIO0","PIO1","PIO2","PIO3","PIO4","PIO5","PIO6","PIO7","PIO8","PIO9","PIO10","PIO11","PIO12","PIO13","PIO14","PIO15","PIO16","PIO17","PIO18","PIO19","PIO20","PIO21","PIO22","PIO23","PIO24","PIO25","PIO26"};
static STI2C_Handle_t I2c_handle;
static U8 init_data[] =
{
1, 0x00,
2, 0xc0,
3, 0x0a,
4, 0xab,
5, 0x08,
6, 0x88,
7, 0x00,
8, 0xcd,
9, 0x0f,
10, 0xf0,
11, 0x7f,
};
U32 static ee_i2c_write(U16 sub_addr,U8 *data,U16 data_size)
{
STI2C_Params_t I2C_Params;
U32 ErrCode;
U32 nread ,nwrite;
U8 buf_write[64];
// U8 buf_read[6
相关推荐
STM32F1与STM32CubeIDE编程实例-设备驱动-EEPROM-AT24C256驱动
EEPROM(电可擦除可编程只读存储器)是用户可修改的只读存储器(ROM),可以通过施加高于正常电压的电压反复擦除和重新编程(写入)。 本文将实现AT24C256设备驱动。
基于STM32L4XX、HAL库的AT24C256 EEPROM 驱动程序设计
AT24C256是一款256Kbit(32KB)的串行EEPROM,采用I2C接口通信。: 地址引脚(用于设置设备地址): 写保护引脚(高电平时写保护): 电源(通常为3.3V)
LPC2148与AT24C256 EEPROM的I2C驱动实现
本文还有配套的精品资源,点击获取 简介:LPC2148是一款基于ARM7TDMI-S内核的微控制器,具有丰富的外设接口,特别适合于与I2C兼容的电可擦除只读存储器AT24C256进行通信。本案例展示了如何在LPC2148上配置I2C控制器并编写驱动程序来实现与AT24C256的通信。驱动程序包括初始化、开始信号、地址写入、数据读写和停止信号等关键功能。实际应用中还需考虑错误...
STM32F103硬件I2C读写AT24C256:EEPROM驱动与总线故障排查
I2C是一种仅需两根信号线的串行通信协议,在嵌入式系统中广泛用于连接传感器、存储器等低速外设。AT24C256作为常见的I2C接口EEPROM,提供32KB存储容量与100万次擦写寿命,特别适合参数掉电保存、校准数据存储等场景。STM32F103的硬件I2C外设通过PB6/PB7复用开漏引脚即可驱动该芯片,但实际工程中常遇到地址字节格式、64字节页边界、ACK关闭顺序等细节问题。本文从I2C通信原理出发,讲解基于标准外设库的AT24C256读写驱动实现,包括单字节写、页写跨页拆分、随机读的完整状态机流程,并
使用STM32F103C8T6实现EEPROM(使用AT24C01~AT24C256芯片均可),已经过实物测试
包含IIC底层驱动代码,AT24CXX初始化代码,单个写入、单个读取函数,连续写入、连续读取函数注释清晰,简单易懂
STM32 AT24C256驱动IO模拟
STM32 , AT24C256驱动IO模拟,本人亲测,完全没问题!!绝对好用
AT24C256源代码
AT24C256源代码,C语言,驱动,可以读,可以写 单片机
驱动AT24C256
基于LPC2292的AT24C256驱动程序,详细的介绍了II2C的使用方法!
使用CLion在Window端进行linux开发
以往不管是开发x86端linux程序还是arm端linux程序,都是使用Source Insight作为源码编辑工具的,如下图 去年底,发现CLion的2018.3更新版本,可以支持remote host开发了,大爱! 我是基于以下几点原因,将开发工具换成CLion 1. 语法高亮较明显、跳转、重构方便(我很看重这个); 2. 可以使用图形界面进行调...
如何把DeepSeek这个奈斯工具接入到Pycharm里
DeepSeek接入到Pycharm中,提高编程效率,以及帮助解决遇到的问题。
VS Code/TRAE集成Cppcheck并启用MISRA规则
本文探讨了嵌入式开发中Cppcheck工具集成与MISRA规则检查的必要性。详细介绍了安装配置步骤:安装VSCode/TRAE、Cppcheck软件、配置插件参数、安装Python环境,并重点说明了MISRA规则文件的设置方法。通过完整的配置流程,实现了嵌入式开发环境下静态检查与安全标准的落地。
inferCNV包安装问题及解决办法
InferCNV是一个由broad研究所开发的,利用单细胞转录组数据分析肿瘤细胞拷贝数变异(CNV)的工具。基本思路是在整个基因组范围内,通过计算肿瘤细胞关于参考的“正常”细胞的相对表达,利用滑窗思想对邻近的基因相对表达,计算拷贝数。 先贴一个官方安装说明: 官方infercnv安装说明 安装infercnv包: if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager:
倍福ADS通讯协议深度解析——从握手到数据包的完整旅程
本文以工程师视角,通过Wireshark抓包实战,深度解析了倍福ADS通讯协议的完整工作流程。从TCP三次握手建立连接,到拆解AMS/TCP信封、AMS Header地址与命令解析,再到ADS Data读写请求的载荷构成,完整呈现了一次数据通讯的“旅程”。文章重点剖析了协议包格式,并结合实际案例,提供了基于协议分析的故障排查思路,帮助开发者深入理解并精准调试工业自动化系统通讯。
双RTX 3090实战:如何用vLLM低成本部署Qwen2.5-14B大模型(附避坑清单)
本文详细介绍了如何利用双RTX 3090显卡低成本部署Qwen2.5-14B大模型的完整指南,包括硬件选型、环境配置、vLLM优化及生产环境调优。重点解析了BF16混合精度在显存占用与推理质量上的平衡策略,并提供了实用的避坑清单和性能调优技巧,帮助开发者高效实现大模型部署。
STM32笔记:高精度脉冲宽度计 双输入捕获+DMA方式
本文介绍如何用STM32F107VC实现高精度的脉冲宽度计(测量周期脉冲的占空比)。 采用定时器的外部输入捕获功能,双输入+DMA方式,追求硬件的极限表现。
粒子群优化与蚁群算法求解多旅行商问题
它要求在给定一组城市和旅行商之间的距离矩阵的情况下,找到一条最优的路径方案,使得所有旅行商可以分别从起始城市出发,途径其他城市,并最终回到起始城市,同时总旅行距离达到最小。这两种算法都是基于群体智能的优化算法,在求解组合优化问题时具有较好的性能表现。假设有n个城市需要被m个旅行商访问,城市间的距离由距离矩阵D表示,其中D(i,j)表示第i个城市到第j个城市的距离。粒子群优化算法是一种基于群体智能的优化算法,其中的粒子代表了潜在的解,并通过模拟粒子在解空间中的移动来搜索最优解。一、多旅行商问题建模。
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
1481



被折叠的 条评论
为什么被折叠?



