GPIOA_ModeCfg(GPIO_Pin_4, GPIO_ModeIN_Floating);
ADC_ExtSingleChSampInit( SampleFreq_3_2, ADC_PGA_0 );
ADC_ChannelCfg(0);
//下面语句每隔1ms执行一次
rs485_buf[6]=ADC_ExcutSingleConver();
PA4脚0.05欧电阻下拉到地,实际量电压为0,但是采样值为1792左右波动
GPIOA_ModeCfg(GPIO_Pin_4, GPIO_ModeIN_Floating);
ADC_ExtSingleChSampInit( SampleFreq_3_2, ADC_PGA_0 );
ADC_ChannelCfg(0);
//下面语句每隔1ms执行一次
rs485_buf[6]=ADC_ExcutSingleConver();
PA4脚0.05欧电阻下拉到地,实际量电压为0,但是采样值为1792左右波动
一共焊了2块板子都是一样的结果
首先,你的代码 本身应该是没什么问题的:
可以按照以下方法排查
1,确保你对应的IO PA4 焊接良好,
2,确保芯片的任何IO,没有高于芯片供电的灌电情况(比如做输入时候, 输入的接的外部信号电压不能高于了芯片的供电电压),
3,确保VDCIA,VINTA 的电容靠芯片放置,可看下我们开发板子的设计 /downloads/CH579PCB_ZIP.html
注意一下,打印调试用的串口是5v的还是3.3v,如果5v是不行的,会向芯片灌电
我量了一下,没发现连接的脚超过电源电压,都在3.3V以下,但是我的DCDC脚是直连电源正的,调试通信使用以太网的
现在还发现个问题,GPIO输入也没有,我连接到PA14的脚1.6V,但是读脚的状态是0
工程文件
因为不启用DC-DC功能,我看PDF上说可以直连电源正的呀,所以设计的时候都连在一起了,另外我CH573F的电路也是这么设计的,没问题啊
手册上说的是VSW和VDCID,在不开启DCDC可以直连,没说跟VIO33直连,你是这个地方搞错了。
懂了,CH573的板子我也做错了,只不过那个板子只用到串口,所以没影响
你这样接是不可以的,因为VSW VDCIA和VIDCID都是内部ldo输出,外接输入电压的话,可能损坏内部ldo,导致芯片损坏的,这个要改掉。
明白了,已修改重新打板