• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

AD转换函数在主函数调用结果不起作用

huihui163 2017-07-11 浏览量:546

AD.png

AD1.png

第二个AD转换函数是放在主函数调用,结果不起作用,12864屏上显示0000 ,为啥放在显示函数ADC(zhi)中屏上才会显示AD值

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 您這樣切開來看,不是很好知道是怎樣問題

    建議找尋adcx所有指派的描述,然後看看有無先後關係

    可以上傳整份Project比較好Debug

    以上

    • 发布于 2017-07-11
    • 举报
    • 评论 6
    • 0
    • 0
huihui163 回复了 MOP:你好,那个ssss文件就是,都是一个工程的问题,您哪有,对了,上次那个extern引用那个问题,有点小疑惑,调用的数组不是变化的,就是固定的数组,不可变,您说的是变数? 回复
MOP 回复了 huihui163:您好,這問題您再直接拿我修改好的試看看,因為您現在共用變數了,不會是0000了,雖說是變數,如果還是擔心被改動,可以在變數前面增加const識別字,這叫做常量變數,同樣都是變數,但一經初始化指派後就無法再修改其內容 回复
MOP 回复了 huihui163:記得修改時,header檔案宣告跟c檔案明確定義的部分都要加上const 回复
huihui163 回复了 MOP:常量用const这个定义,我回去试试,ADCX这个函数放到ADC(zhi)函数里就可以正常显示 回复
huihui163 回复了 MOP:你好,我试过了,u16 adcx在lcd.c中定义,用extern在lcd.h中引用就可以了,这是为啥 回复
MOP 回复了 huihui163:因為共用了同一個變數,你上一篇有解釋過,所以變數會有正確的內容 回复

其他答案 数量:3

  • 注意看一下程序执行的顺序,你不妨将adcx=XXXXX那句程序放到ADCzhi()后面,看看效果怎样

    • 发布于2017-07-11
    • 举报
    • 评论 3
    • 0
    • 0
huihui163 回复了 chen0000009 :啊,不会把,先转换在显示啊 回复
chen0000009 回复了 huihui163 :我现在觉得你那个需要显示的数据并没有进入display的函数中,你尝试一下把ADC的值改成全局变量,然后12864直接让他显示这个值,不要传递参数 回复
huihui163 回复了 chen0000009 :就是用static定义的, 回复

huihui163 回复了 Sourcelink :我因为感觉是这个参数传递问题,但是怎么解决啊 回复
Sourcelink 回复了 Sourcelink :进行字符转换,和你在adczhi函数中一样处理 回复
huihui163 回复了 Sourcelink :那样不就是重复了吗 回复

  • 你的这个adcx变量是个什么类型的,是全局的吧。
    先将adcx这个变量设置成一个常量,看看在不同位置的显示是不是正常。再找一下,还有没有什么地方对这个adcx进行了赋值了么?

    • 发布于2017-07-11
    • 举报
    • 评论 4
    • 0
    • 0
huihui163 回复了 汉云 :u16 Get_Adc_Average(u8 ch,u8 times) { u32 temp_val=0; u8 t; for(t=0;t 回复
huihui163 回复了 汉云 :您说过,用extern全局变量 好像也不行 回复
汉云 回复了 huihui163 :把adcx那个赋值更改为adcx=1234;试试,会不会显示1234,分别放在你上面图片的两个位置分别试试。 回复
huihui163 回复了 汉云 :放在主函数不行 回复

相关问题

问题达人换一批

AD转换函数在主函数调用结果不起作用

上海固越电子科技有限公司 版权所有©       投诉、举报邮箱:contact@icxbk.com       客服、投诉、举报电话:021-31029100-9104

经营增值电信业务试点批复:沪通信管自贸[2019]24号 出版物经营许可证:新出发沪批字第Y8445号

沪ICP备18038102号  沪公网安备 31011702004806号 |营业执照