proteus仿真
芯片设计之路
嵌入式、FPGA,项目式教学探索者,承接嵌入式、FPGA方向毕业设计、网络辅导、比赛指导等付费咨询服务,联系QQ: 2494459485
展开
-
按键状态机
经常有反馈按键不灵敏问题,分析原因,有机械结构造成的抖动,有人为操作引起的抖动,按键在使用过程中有单次按下判断、有连续按下判断等不同需求。常规按键按下判断采用扫描法,就是每走过一次轮询,按键扫描一次,按键的灵敏度与主流程的时间长短有关。然后就是去抖动常用两次读按键状态之间加入delay_ms(10)延时函数,这个延时时间常用10ms,这个时间对51单片机相对浪费时间还不算太长,但是对STM32处理器速度较快的CPU浪费的时间就有些长。参考网文可以看到一种利用定时器中断每10ms进行一次按键状态检测的原创 2022-04-03 14:35:42 · 1531 阅读 · 0 评论 -
EEPROM读写数据问题:先读后写正常,先写后读数据不对
原因: CPU速度过快,EEROM读写时序之间间隔较短,导致IIC总线上空闲状态时间不够长,EEPROM无法正确识别出对应的读写时序。解决办法:读写函数之间添加短暂的延时,确保IIC空闲状态被正常识别。感悟:高速CPU与慢速外设之间的配合需要考虑时间间隔。...原创 2022-04-02 19:52:25 · 2290 阅读 · 0 评论 -
STM32F407调试错误之:串口收发
WIFI模块与主芯片通过串口进行数据交换,在串口接收中断中将接收到的数据发给调试串口1,同时用一个全局变量将接收到的数据传递给主程序,在主程序中根据这个全局变量的值不同,点亮或熄灭LED灯。问题:if(res=='a') LED=0; //亮if(res==2)LED=1; //灭调试现象:发 a ,灯亮; 发 2 ,灯不灭????错误原因:调试的时候,'a'是字符类型,2是整型数据!!!网络调试助手里设置发送的默认是字符型,因此发 a程序执行亮灯。发 2 其实是发...原创 2021-12-13 21:48:55 · 2652 阅读 · 0 评论 -
STM32F407调试错误2:EXTI10_15外部中断共用一个中断向量问题
EXTI10_15共用一个中断向量地址,但是中断线EXTI_Line10~EXTI_Line15是分开的。在初始化时,使用 或操作进行初始化时,如下部分代码,对中断线进行初始化后,中断程序没有动作。 EXTI_InitStructure.EXTI_Line=EXTI_Line15 | EXTI_Line14 | EXTI_Line13; EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt; EXTI_Ini...原创 2021-12-08 22:15:47 · 1888 阅读 · 0 评论 -
STM32F407调试错误1:串口吞字节
在主程序中使用数组定义了一串数据,然后通过调用串口发送库函数对数组进行字节发送。定义:char a[]={0xaa,0x02,0x00,0xab};串口发送部分代码:for(i=0;i<4;i++){USART_SendData(USART1, a[i]);while(USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);USART_ClearFlag(USART1, USART_FLAG_TC);}运行时,在PC机的原创 2021-12-08 21:18:32 · 455 阅读 · 0 评论 -
Proteus仿真问题记录1:Buzzer不响的原因
图中buzzer不响,原创 2021-06-17 22:23:08 · 5886 阅读 · 4 评论