GDE230Kxxx踩坑 iic从机

使用GD E230Kxxx系列芯片进行开发遇到的一些问题
使用到的点,包括:ADC DMA NVIC IIC FMC(FLASH)

ADC规则组采样 循环执行,利用DMA进行读取数据,并且通过iic以中断的方式发送

踩到的坑:
ADC配置时连续模式,是对单个通道进行连续。扫描模式可以对多个通道进行采样。它们使用同一个函数进行配置不同的寄存器。
在配置的时候要调用同一个库函数,然后分别配置扫描模式以及连续模式,才能正常工作!
用户手册有提到!

DMA和ADC的顺序问题。先开启ADC会导致数据已经开始但是DMA还没有准备好。所以如果DMA在ADC以后开就会数据错位!

使用FMC库去操作flash的时候,片擦除功能会影响DMA读取ADC的采样值,也会导致数据错位。所以开始擦除之前应该关闭adc和dma。好像是因为擦除过程会占用总线

IIC这里被用作从机,需要配置中断处理函数,开启事件中断。
IIC犯错:

  1. 在处理iic错误中断函数的时候,将中断给关闭了, 就导致之后进不去中断。
  2. 配置匹配到从机地址之后,ADDSEND标志应该清除,然后处理收发中断标志!之后应该再去处理一下停止位,停止位需要重新enable(iic)才能软件清除!不然会卡死在中断

总结:遇到问题,用debug调试,一定要去参考对应的用户手册!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值