完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
向各位前辈致敬~! ----献给跟我一样的菜鸟,求大神别鄙视 这是我遇到的问题和从网上搜集的解决方法。 开发环境是IAR 1:程序下载不进去考虑的方面: 1)确认实际电路连接正确。 2)stlink的下载线不好使,或者接触不良(我的就是) 3)手工焊的话,贴片的芯片可能会焊坏(我遇到过焊坏的问题,Vcap脚电压有过3~4v的时候,或者干脆没电压) 2:端口的八个GPIO共用一个中断向量. 想要在A1,A2口上实现两个必须上升沿触发中断的按钮或者外设,需要共用EXT_A的中断向量. 1)进中断以后查询一下 2)虽然是边沿触发,但是信号在跳变到某个电平后也会维持一段时间吧,这样就可以用读IO口来查询;如果实在是触发信号很短,那你就用不同的端口上的引脚呗。 无论如何,在有限的外部中断下,相比一个外部中断对应一个引脚,每个引脚都能触发外部中断这种方式还是极大的提高了灵活性。 PS:中断完了不用清零标志位,因为没有。 3:轻触按键应该怎么设置引脚输入模式呢?上拉输入和悬浮输入的区别 带拉电阻输入,输入的是开关量。 4:怎么看官方的库函数? 每种功能模块都有特定的库函数,比如tim1,tim2,gpio,exti。他们分别包括一个H文件和一个C文件。 H文件中,可以查看c文件有什么函数,另外对C文件中的函数需要用到的参变量做了定义。 C文件时具体的功能实现,在每个函数上方,都会有这个函数的功能介绍和参数介绍。 5、我给删了 6:我给删了 7:多路连续转换模式,怎么从缓存区读回各路转换结果? 用GETBUFFERVALUE(直接写寄存器组的序号就行)函数。之前要调用相应的配置函数:ADC1_DataBufferCmd(FunctionalState NewState);参考RM0016——page366中关于数据缓存寄存器的介绍。 此时要用DMA传送结果。 8:为什么已经修改了stm8s.h文件,ADC1部分的定义还是会在编译时提示没有定义呢?甚至把那部分的定义放到主函数里也不行呢。 这种无厘头的问题------重新建个工程就行了。 >我*?!!!事实再一次证明,新建工程也不管用啊!!!conf没改好吧??(我已经放弃了,包含了iostm8s003f3的源文件然后用寄存器写的。) 9:怎么从两个通道同时采样? 用定时器(开关)和ad的中断(切换通道)配合切换、开关采样通道。 其中ADC的中断,需要在EOC清除前把数据读出。 TIMX的中断若需连续中断,要清零SR1.。 ADC配置的流程是: CR1(禁止转换),CR2,CSR,TDRL,ADON=1(唤醒),延时7um,ADON=1(启动) |
|
相关推荐
|
|
1049 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1017 浏览 2 评论
2123 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1219 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1639 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 03:44 , Processed in 0.974967 second(s), Total 65, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号