关于ADC单次转换的问题

2019-07-20 15:48发布

int main(void)
{
            Adc_Init();
           delay_init(168);               
           uart_init(9600);       
        while(1)
        {   
               

             ADC_1=Get_Adc(ADC_Channel_5);  

             USART_SendData(USART1,ADC_1);        
                  

       
        }
       
}


我直接用的原子提供库函数,在主函数里写了一个ADC的读取和串口的发送 ,正常来说应该是上位机一直有数据显示
但是我只有通断电源一次,他才显示一个数字,然后就没有了,希望各位大神可以帮忙看看






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
zy1234536
1楼-- · 2019-07-20 16:33
 精彩回答 2  元偷偷看……
vivian
2楼-- · 2019-07-20 17:35
已经解决了 还是感谢
vivian
3楼-- · 2019-07-20 22:39
 精彩回答 2  元偷偷看……
whyviking
4楼-- · 2019-07-20 22:52
不要用 USART_SendData()函数发16位的数据  转换成两个8位再发   
zy1234536
5楼-- · 2019-07-21 03:15
vivian 发表于 2017-3-28 16:02
还是不行了  我原来程序没变 现在又不行了 我不加ADC 直接发一个数字 他是正常的连续输出 加了ADC 就不行 ...

那你是用中断的吗?两边都?建议ADC那边用DMA方式。如果用中断,记得设好优先级。如果没用中断,usart的发送可以用中断一个一个发的,这样可以避免被打断。
vivian
6楼-- · 2019-07-21 09:03
zy1234536 发表于 2017-3-29 08:18
那你是用中断的吗?两边都?建议ADC那边用DMA方式。如果用中断,记得设好优先级。如果没用中断,usart的 ...

没有中断 就是ADC1的单次转换 设置了两个通道  然后读取

一周热门 更多>