野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18377|回复: 13

ISO示波器例程__如何移植到MINI ISO板上?

[复制链接]
发表于 2014-4-26 23:20:32 | 显示全部楼层 |阅读模式
看到 ISO 程序包里有个示波器的例程,就想着移植到MINI ISO板上,打开一看,好东西,UCOS+ucGUI,编译9分钟后,按下F12进行函数追踪,追着追着,都把自己给弄晕了,还好找到了LCD的驱动文件。
1)修改bsp_ili9341_lcd.c文件的FSMC功能端口,IO端口,修改bsp_ili9341_lcd.h文件的FSMC地址线。
2)修改bsp_touch.c文件的触摸屏端口。
3)编译,无错误,无警告,下载。  竟然白屏,连个字符串都不显示,求解?
以下问题需要野火老师解答下:
1)把示波器例程移植到MINI板,除了以上三个文件,还有哪个文件需要修改?
2)在bsp_touch.c文件里没有看到有LCD触摸屏的校准函数,那液晶屏是如何进行校准的?
3)代码量比较多,还请野火老师抽个时间写个课件讲解下这个例程的实现框架或者是程序流程图。
回复

使用道具 举报

发表于 2014-4-26 23:29:19 | 显示全部楼层
不可能,mini ISO 没有这些资源,用不了示波器功能。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-26 23:49:54 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-26 23:29
不可能,mini ISO 没有这些资源,用不了示波器功能。

ADC有吧,DAC有吧,如果在MINI板上能正常显示,我再做个信号调理电路板,一搭配,不就成了。。。
回复 支持 反对

使用道具 举报

发表于 2014-4-27 12:45:26 | 显示全部楼层
浪花火炎 发表于 2014-4-26 23:49
ADC有吧,DAC有吧,如果在MINI板上能正常显示,我再做个信号调理电路板,一搭配,不就成了。。。

可以,内部DAC输出,直接接到内部的ADC,可以用ISO的示波器的显示历程
要注意的是:
1、DAC 引脚 要跟 ISO的一样
2、ADC的 引脚要跟 ISO的一样
3、液晶显示要 跟 ISO 的一样,因为 mini的液晶触摸的io口 跟 iso 的有区别

只要把上面三点 搞定了,那么久可以显示波形了,调理电路也很简单,可以自己做一个。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-27 12:58:34 | 显示全部楼层
fire 发表于 2014-4-27 12:45
可以,内部DAC输出,直接接到内部的ADC,可以用ISO的示波器的显示历程
要注意的是:
1、DAC 引脚 要跟  ...

野火老师,我的几个问题请讲解下,我修改了3个文件编译下载是白屏。
回复 支持 反对

使用道具 举报

发表于 2014-4-27 14:49:12 | 显示全部楼层
浪花火炎 发表于 2014-4-27 12:58
野火老师,我的几个问题请讲解下,我修改了3个文件编译下载是白屏。

按火哥楼上的解答,把那些底层文件换成mini的即可
回复 支持 反对

使用道具 举报

发表于 2014-4-27 14:54:42 | 显示全部楼层
浪花火炎 发表于 2014-4-27 12:58
野火老师,我的几个问题请讲解下,我修改了3个文件编译下载是白屏。

那肯定是有些地方没改到,你再调试下,肯定可以搞出来的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-27 22:37:55 | 显示全部楼层
fire 发表于 2014-4-27 14:54
那肯定是有些地方没改到,你再调试下,肯定可以搞出来的。

可能我有点烦,不过抱着问到底的精神,希望有个明确的答复。
1)只在提到的几个文件中修改,是吗?
2)触摸屏程序中没有校准函数,触摸屏是如何校准的?
我只想要个明确的解答,没有方向只会越改越糟糕。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-28 07:14:41 | 显示全部楼层
可以正常显示界面了,我在bsp_ili9341_lcd.h文件中添加
#ifndef __BSP_ILI9341_LCD_H
#define        __BSP_ILI9341_LCD_H
...
...
#endif /* __BSP_ILI9341_LCD_H */
就可以了。
现在又有触摸屏不能正常运作了,问题
1)GUITouchConf.h文件中
#define GUI_TOUCH_AD_LEFT       3901
#define GUI_TOUCH_AD_RIGHT      193
#define GUI_TOUCH_AD_TOP        273
#define GUI_TOUCH_AD_BOTTOM     3971
这四个参数是如何得来的呢?
2)bsp_touch.c文件中,没有校准函数,那么液晶屏如何校准?
3)触摸芯片(AD采集)的IRQ的引脚中断处理函数在哪个文件中?
回复 支持 反对

使用道具 举报

发表于 2014-4-28 09:25:13 | 显示全部楼层
浪花火炎 发表于 2014-4-28 07:14
可以正常显示界面了,我在bsp_ili9341_lcd.h文件中添加
#ifndef __BSP_ILI9341_LCD_H
#define        __BSP_ILI9 ...

这是GUI,测试好再写入到代码中的,程序中没有使用中断检测触摸,是定时调用GUI的底层函数来检测触摸状态的
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-4-28 12:15:40 | 显示全部楼层
flyleaf 发表于 2014-4-28 09:25
这是GUI,测试好再写入到代码中的,程序中没有使用中断检测触摸,是定时调用GUI的底层函数来检测触摸状态 ...

GUITouchConf.h文件中
#define GUI_TOUCH_AD_LEFT       3901
#define GUI_TOUCH_AD_RIGHT      193
#define GUI_TOUCH_AD_TOP        273
#define GUI_TOUCH_AD_BOTTOM     3971
这几个AD值是如何测量出来的?有这方面的资料吗?如果有还请给个链接。
回复 支持 反对

使用道具 举报

发表于 2014-4-28 12:38:31 | 显示全部楼层
浪花火炎 发表于 2014-4-28 12:15
GUITouchConf.h文件中
#define GUI_TOUCH_AD_LEFT       3901
#define GUI_TOUCH_AD_RIGHT      193

参考这里的程序 在main函数有一个touch maintask,用它来测试的

[零死角玩转gui] 从零开始玩转 gui:emwin522 不断更新 - STM32资料区 - 野火初学123论坛 http://www.firebbs.cn/forum.php? ... &extra=page%3D1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-3 00:50:43 | 显示全部楼层
解决触摸屏没反应:
原来:
GUITouchConf.h文件中
#define GUI_TOUCH_AD_LEFT      3901
#define GU I_TOUCH_AD_RIGHT      193
#define GUI_TOUCH_AD_TOP        273
#define GUI_TOUCH_AD_BOTTOM     3971
的几个参数书触摸屏的左上角的X方向(GUI_TOUCH_AD_LEFT)和Y方向(GU I_TOUCH_AD_RIGHT)AD值,右下角的X方向(GUI_TOUCH_AD_TOP )和Y方向(GUI_TOUCH_AD_BOTTOM)AD值,这个每个液晶屏的AD值不一样,要自己修改触摸屏画板的程序,把这几个AD值打印出来。

新问题:
1)暂时不添加调理电路,直接对DAC(PA4)的输出进行测量,显示的是一条直线,没有视频中的方波出现,为何?
2)例程中同时启用了ADC1和ADC2,但是都是对ADC_Channel_10,也就是PC0,我把ADC2部分删除,却是可以显示波形,但无法波形调节宽度,大概哪里的问题?
回复 支持 反对

使用道具 举报

发表于 2014-5-4 14:15:07 | 显示全部楼层
浪花火炎 发表于 2014-5-3 00:50
解决触摸屏没反应:
原来:
GUITouchConf.h文件中

显示一条直线可能是没有把信号输入到adc引脚。
程序里使用adc1和adc2对同一个通道交叉采集数据,是为了提高采集速度的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-20 13:39 , Processed in 0.035874 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表