2 atelco atelco 于 2016.04.06 15:13 提问

keil封装工程成库后i2c通信失效

项目里用到gsensor gps 使用的硬件i2c 现在把相关.c全部封装成lib 再编译成bin运行代码发现运行正常 但是gsensor gps等需要i2c通信的应用全都失效了 i2c通信失败

1个回答

CSDNXIAON
CSDNXIAON   2016.04.06 15:42

I2C通信流程
I2C通信协议
I2C通信一般性问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
keil对lib封装库反汇编成C语言
讲述如何将lib库反汇编成C,辛苦从网上收集而来的,仅供参考,版权归原作者所有
STM32学习笔记之Keil工程Lib库文件的制作和运用
最近看了百度手环开源项目,发现所有的算法都被封装成了一个lib文件在keil中调用 也是第一次学习到。 问题引出:为什么要做成lib库? 1、有些人公司将自己写的关键部分源代码公开,但是同时库文件又需要让别人能够正常调用,那封装成lib的格式就是一个好方法。 2、编译某些工程文件时非常耗时,像UCGUI和ST官方的库时,由于文件众多,编译一次可能得1两分钟,这时可以打包成库,
<志良电子>关于C语言中用Keil软件制作Lib库文件的几点经验
1.关于制止LIB库文件的几点经验 1. 一个工程如何生成lib文件: 2. 一个生成lib文件的工程可以调用这个工程中不存在的函数,只需要在.h文件中声明这些不存在函数的原型,然后在调用这个lib文件的工程中实现这些函数即可。 3. 由上面一点可得出一个生成lib文件的工程改成生成hex文件或者bin文件那么可能编译错误(找不到未声明函数的原型),但是如果是生成li
keil&MDK封装函数到lib中,并在程序中调用lib
近期项目要open source给各个用户,有些部分不能公开,例如网络中的通讯协议,涉及到擦除更新固件等等,相当危险的操作,所以要选择封装到lib,让用户不能随意修改协议内容。过程如下 1、编译源码,处于没有错误状态,这是必备条件,然后备份一次工程等后面调用 2、删除不需要封装的文件,也就是删除可开源的文件 3、选择project->options->outout,勾选cre
keil c中文件打包成lib文件
1.选择:projects   -   options   for   target   'target   1'   , 在   output   页选中   create   library ,  使将要打包的文件生成LIB和OBJ文件. 如将如下文件: /***************************************************/ #include #d
arduino 中断与Wire库函数(即I2C通讯)不起作用
看了这篇文章后才恍然大悟,部分内容转自这篇文章 点击打开链接 我说为什么我用中断MsTimer2函数,三轴加速器数据发不出来 原来不论是 IIC/TWI, 或是 SPI, 以及硬串口、软串口甚至 Serial.print 都是要靠中断来帮忙处理, 如果你把中断禁止了, 那 IIC/TWI, SPI 都无法动作了 !   啥?  你说你没有禁止中断?  Arduino 一旦进入
树莓派-wiringPi-wiringPi-C的i2c库使用
原文地址:http://nicekwell.net/blog/20171124/shu-mei-pai-wiringpi-wiringpi-cde-i2cku-shi-yong.html 在linux上层有一个操作i2c的通用接口——smbus,在这里我们不介绍smbus的使用,但要知道wiringPi的i2c接口就是在linux上层基于smbus封装的。 wiringPi封装
STM32F407和STM32F051主从I2C通信方法
M4作为主机:   int main(void)   {   /* USER CODE BEGIN 1 */   /* USER CODE END 1 */   HAL_Init();   /* Configure the system clock */   SystemClock_Config();
stm32开发之使用Keil MDK以及标准外设库创建STM32工程
通过上一节对标准外设库的介绍,想必各位读者对标准外设库已经有了基本的认识,然而由于标准外设库中文件众多,很多初学者在开始很长一段时间内甚至都无法完全自己建立一个工程,很多人只是依赖标准外设库或给定的工程模板。本节就介绍怎样利用Keil MDK开发环境和标准外设库来搭建自己的工程。建立一个基于标准外设库其实并不复杂,网络上也有很多关于怎样在Keil MDK下建立工程的教程,方法也各异,本节所介绍的方
keil中使用c的函数库
用keil c编译时,strlen 在哪个库里? string.h   keil可以结合 MSND,方便找出在那个文件中。因此,C库是通用的,包括KEIL C。   其他函数同理   不过要注意一点的是,引入C LIB中的函数,有时会使程序增大很多。例如:   Keil中sprintf这个函数是有的,sprintf()在stdio.h里面. itoa这个倒是没得。atoi这个有