amobbs.com 阿莫电子技术论坛
标题:
STM32 硬件IIC 终极解决方案
[打印本页]
作者:
cxjava
时间:
2011-10-19 14:49
标题:
STM32 硬件IIC 终极解决方案
刚刚参加 了在济南的STM32 全国研讨会 50%的中奖率下也没抽到那个 渴望已久的STM32F4 的板子,倒是给了个没用的f100的小板。
会上得知两个季度后会有支持 RBG 接口 和SDRAM 的新型号的STM32面世。大家期待吧。
(原文件名:图像023.jpg)
(原文件名:图像028.jpg)
(原文件名:图像029.jpg)
(原文件名:图像031.jpg)
会上有一女应用工程师 姓姚吧提到了,为了规避 飞利浦专利的问题 STM32 的I2C 采用了特殊的硬件设计。所以不同以往,应用起来不太舒服,ST为了解决这个问题 开发了CPAL
STM32 I2C Communication Peripheral Application Library高级封装了IIC 的硬件收发函数。昨天晚上花点时间折腾好一试果然好用~!若是有哪位朋友对STM32的I2C 失望的不妨一试。另外 STM32 F1 F2 F4 的IP核都是一样的以后肯定能用到的。
哪位有多余STM32F4-DISCOVERY 小弟求一份,这东西真不好买啊........
点击此处下载
ourdev_686371BBYLTQ.zip(文件大小:1.91M)
(原文件名:stm32_i2c_cpal.zip)
作者:
skynet
时间:
2011-10-19 14:57
看到STM32的IIC,蛋疼啊
作者:
cgbabc
时间:
2011-10-19 15:19
怎么每个地方的研讨会的内容都不一样啊??
作者:
avrgogo
时间:
2011-10-19 15:26
支持RGB和SDRAM这个不错。
作者:
newhz
时间:
2011-10-19 15:36
回复【3楼】avrgogo
-----------------------------------------------------------------------
支持,终于看到更高级点的功能了
作者:
zhikai_wu
时间:
2011-10-19 15:37
RGB和SDRAM看着都流口水
作者:
clever0725
时间:
2011-10-19 16:25
马上来杭州咯
作者:
adispring
时间:
2011-10-19 16:35
回复【6楼】clever0725
-----------------------------------------------------------------------
我也在济南,那天公司上班没去,qq:506064082,咱们可以聊聊,呵呵
作者:
cxjava
时间:
2011-10-19 17:44
通信外设应用级库函数 给个这个东东的手册 其实用处不大 自己看看库里带的历程 很快就上手了
我是青岛的 大四了 QQ:357017598
(Communication peripheral application library (CPAL))
UM1029
STM32 通信外设应用级库函数
ourdev_686453T17SS2.pdf(文件大小:548K)
(原文件名:CD00291090.pdf)
作者:
nop_linyh
时间:
2011-10-19 18:34
哎,今天没时间去~
作者:
hezheng
时间:
2011-10-22 00:59
先试试
作者:
xinjie1023
时间:
2011-10-22 21:22
关注
作者:
roguebear1
时间:
2011-10-22 23:24
mark
作者:
i55x
时间:
2011-10-22 23:41
看了一下,DMA模式,中断优先级最高,说明STM32的IIC的毛病并没有解决。
作者:
cxjava
时间:
2011-10-23 01:36
回复【13楼】i55x
-----------------------------------------------------------------------
F1 F2 F4 的I2C IP核都是一样的,但是 F2后不在有 F1的中断局限性,这个CPAL更多是方便使用,包裹的好。那种组合的标志位自己来写实在麻烦。目前还没受到过I2C中断的困扰问题。
作者:
huqiaoli_ARM
时间:
2011-10-25 11:48
飘过...
作者:
qq302011
时间:
2011-10-29 23:27
dev是不是应该把单个文件大小限制搞大些
作者:
eworker
时间:
2011-10-29 23:37
回复【13楼】i55x
看了一下,dma模式,中断优先级最高,说明stm32的iic的毛病并没有解决。
-----------------------------------------------------------------------
作者:
abcdzhy
时间:
2011-12-7 11:20
mark
作者:
linghu2
时间:
2011-12-7 11:29
看到中断优先级最高,就知道没有用的东东
作者:
oaixuw
时间:
2011-12-7 13:39
mark
作者:
channe
时间:
2011-12-7 17:02
库函数的,用不惯啊,IIC,一直都是自己模拟的。。。
作者:
xubinghua_1009
时间:
2012-4-8 21:20
能请大侠帮我解答下为什么写函数没有应答呢?劳烦您看下我下面的问号?
疑虑一 I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; //设置是否开启ACK响应
/*允许1字节1应答模式*/
I2C_AcknowledgeConfig(I2C1, ENABLE); //使能I2C接口响应
以上这两句话C语言是不是软件来开启I2C1的应答功能?第二句话注释:允许一字节一应答模式,那为什么在下面的写页函数没有见到应答呢????
**函数名:I2C_PageWrite_24C
**功能:写入一页(以内)
**注意事项:此函数供群写入调用
*************************************************/
void I2C_PageWrite_24C(u8 addr,u8* pBuffer, u8 no)
{
while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY)); //等待总线空闲
/*起始位*/
I2C_GenerateSTART(I2C1, ENABLE);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));
#ifdef AT24C01A
/*器件地址(写)*/
I2C_Send7bitAddress(I2C1, EEPROM_ADDR, I2C_Direction_Transmitter); ??本来这句话后面不是应该有应答的吗?
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
/*写地址值*/
I2C_SendData(I2C1, addr); ??这句话后面不是也应该有应答的吗?
while(! I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
#else
I2C_Send7bitAddress(I2C1, addr<<1, I2C_Direction_Transmitter);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
#endif
while(no--)
{
I2C_SendData(I2C1, *pBuffer); ??发送一个字节的数据不是也应该有一个应答吗?
pBuffer++;
while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
}
/*停止位*/
I2C_GenerateSTOP(I2C1, ENABLE);
}
作者:
dongfo
时间:
2012-5-17 10:37
十分蛋疼,好难用啊
作者:
Making
时间:
2012-8-15 13:24
普遍反应IIC有问题
作者:
chengying
时间:
2012-9-3 19:22
mark
作者:
东方云滨
时间:
2013-3-28 13:48
stm32的硬件iic不好用吗?怎么大多数人多事用模拟的呢?
作者:
ABCDELF
时间:
2013-4-2 21:31
stm32 的iic到底怎么回事啊
比一般的好像有点问题啊(个人感觉)程序里只有一个IIC的程序就好使
加了别的初始化函数IIC就死在循环里了
到底怎么回事啊
作者:
jun503380
时间:
2013-4-10 16:05
希望能解决我的问题
作者:
Mr.luke2012
时间:
2013-5-11 22:14
额,还没用过,看看!
作者:
1米49
时间:
2013-8-22 09:02
表示只用模拟 想怎么用就怎么用, 妈妈再也不用担心读写失败了~~~
作者:
lkm_unication
时间:
2013-8-22 09:32
好,mark 一个
作者:
zcguoji
时间:
2014-1-9 21:46
本来还想学的,这下只好用我的模拟了,话说我的模拟也写得不错
作者:
dhw5qq
时间:
2014-7-8 14:43
准备试试呢。不知道STM32做从机怎么样?
作者:
jackieha
时间:
2014-8-11 10:22
哇。。。楼主确定这个硬件II才
作者:
蓝蓝的恋
时间:
2014-8-12 13:30
怪不得好多人都在蛋疼~
作者:
xinhoujue
时间:
2014-8-13 22:35
库函数的,用不惯啊,IIC,一直都是自己模拟的。。。
作者:
BrightWang
时间:
2014-8-25 15:23
标记,STM32 硬件IIC 终极解决方案
作者:
kgsz
时间:
2014-9-12 16:38
还在用模拟IIC
作者:
dwiller_ARM
时间:
2014-9-13 17:15
终于知道STM32的I2C蛋疼的原因了。。。。。。
作者:
guxinghan
时间:
2014-9-20 23:16
不错,收藏一下……
作者:
片羽之神
时间:
2014-9-25 09:28
了解一下!!!
作者:
chinazhaoyl
时间:
2014-9-26 14:04
谢谢分享!
作者:
skyraker
时间:
2014-9-26 15:22
正在蛋疼这个,试试看看
作者:
linux-0405209
时间:
2014-9-26 15:30
真的能很好解决吗?有谁试过这份程序呢?
作者:
louguixin
时间:
2014-11-19 09:51
正为stm32 的IIC 蛋疼中。。。
作者:
lujan1
时间:
2014-11-19 12:43
iic st应该是没有付专利费用,自己设计的iic
作者:
wukangkang
时间:
2014-11-20 16:23
学习了,谢谢楼主!
作者:
signal10
时间:
2014-11-20 17:42
多谢分享。
作者:
demonye
时间:
2014-11-20 21:57
前段时间正好一个项目,尝试了硬件I2C,真是被坑死了
换成模拟的果断解决
对库不怎么了解得情况下
慎用
作者:
7inspire
时间:
2014-12-5 14:49
用这个库看看,
作者:
戴风海
时间:
2016-4-13 21:23
支持RGB和SDRAM
作者:
jk36125
时间:
2016-4-13 21:58
为了规避飞利浦的专利,每家芯片厂的MCU,I2C接口的名字都不一样。
其实,I2C接口速度比较慢,用IO口软件模拟更方便。
作者:
vows
时间:
2016-4-13 23:13
专利问题是双刃剑
作者:
ln08136207
时间:
2016-4-14 08:42
在Q3出G4和L4
作者:
Dragontan
时间:
2016-4-24 20:54
不知道适合所有的stm32不呢
作者:
wuhuijiang
时间:
2019-4-5 08:00
不是说 IIC 的专利到期了? 可以免费用了,STM 最近版这个IIC的硬件问题没有了?
作者:
ddcour
时间:
2019-10-12 15:54
debug模式可以用,到release模式就不灵了,这ST的IIC真是鬼一样
欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/)
Powered by Discuz! X3.4