打印
[方案相关]

【华大测评】华大HC32F460-EVB开发板数据采集和显示试验

[复制链接]
4458|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yljon|  楼主 | 2020-7-7 22:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yljon 于 2020-7-8 06:07 编辑

试验目标:使用华大HC32F460-EVB开发板采集数据显示数据

一、初识开发板,准备好硬件
       拿到开发板,看上去非常完整的开发板,有接口有按钮有屏幕,带的东东很全,首先印象就非常不错:
1.有两个USB口,貌似可以供电,我要准备USB线即可;
2.再准备一个ST-LINK烧录程序即可。



二、搞点资料看看,电路图要搞到
上官网( http://www.hdsc.com.cn/mcu.htm)找些资料看看,结果他们家官网上没有啥资料?
一打听才知道,他们家将资料直接放在FTP上了,资料下载地址: ftp://HdscCustomer:HdscGuest2019!@ftp.hdsc.com.cn/
还别说,这里面资料还真多,



电路图在这里,找到了,顺带打印出来,看着方便。试验采集的数据就直接用板载的可调电阻:



开发板上有屏幕了,直接就在这个小屏幕上显示数据了:



从电路图看,这个开发板支持ST-LINK,省心多了,不用额外其它烧录器了。



三、搭建环境,看看ST-LINK能不能识别
由于我的电脑以前安装了ST-LINK的驱动,插上烧录器看看,在设备管理器看见这样:



打开KEIL,在设置里看见这样,至此驱动安装确认就OK啦。




四、搭建环境,芯片的PACK下载安装
由于我的开发环境是KEIL,下载安装的是HDSC.HC32F46x.1.0.2.pack
在KEIL里看见如下就意味着PACK搞好了。





五、搞定代码,点亮屏幕
1.搞亮LED,让LED翻转,显示程序运行,这个直接用它官方的例程即可,代码位置:
HC32F460_SDK\hc32f460-master\hc32f460-master\hc32f460_sdk\驱动库及样例\hc32f46x_ddl\example\gpio\gpio_output\source

2.采集开发板上可调电阻数据,这个就是ADC功能,直接用它官方的例程即可,代码位置:
I:\华大评测\HC32F460_SDK\hc32f460-master\hc32f460-master\hc32f460_sdk\驱动库及样例\hc32f46x_ddl\example\adc\adc_01_sa_base\source

3.小屏幕显示,这个到网上可以找到,我是直接从二姨家下载,唯一比较麻烦的是汉字字库,
我从网上下载一个汉字字模工具,设置好那是刚刚滴:



这个生成的字模就是这样的,


{0x20,0x10,0x08,0xFC,0x03,0x20,0x20,0x10,0x7F,0x88,0x88,0x84,0x82,0xE0,0x00,0x00},
{0x04,0x04,0x04,0x05,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*"华",0*/

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00},
{0x80,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x20,0x40,0x80,0x80,0x00},/*"大",1*/

{0x40,0x40,0x42,0xCC,0x00,0x00,0x12,0x62,0x02,0xFE,0x02,0x42,0x32,0x00,0x00,0x00},
{0x00,0x00,0x00,0x3F,0x10,0x09,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,0x00},/*"评",2*/

{0x10,0x60,0x02,0x8C,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0xFF,0x00,0x00},
{0x04,0x04,0x7E,0x01,0x80,0x47,0x30,0x0F,0x10,0x27,0x00,0x47,0x80,0x7F,0x00,0x00},/*"测",3*/


接下来就可以编程了,也很简单,就是采集数据,显示数据,代码都在下面了:

<p>int32_t main(void)
{
        int8_t DD[6];
        int8_t nn=0;
        int8_t q=0;
        int8_t b=0;
        int8_t s=0;
        int8_t g=0;
        int16_t ll=0;
        stc_port_init_t stcPortInit;

        MEM_ZERO_STRUCT(stcPortInit);

        stcPortInit.enPinMode = Pin_Mode_Out;
        stcPortInit.enExInt = Enable;
        stcPortInit.enPullUp = Enable;
        PORT_Init(LED0_PORT, LED0_PIN, &stcPortInit);
        SysClkIni();        
        AdcConfig();
        I2C_Master_Config();
        OLED_Init();
        
        fill_picture(0xff);
        Ddl_Delay1ms(300ul);
        OLED_Clear();
        OLED_ShowCHinese(0,0,0);
        OLED_ShowCHinese(16,0,1);
        OLED_ShowCHinese(32,0,2);
        OLED_ShowCHinese(48,0,3);
        OLED_ShowString(64,0,":yljon",16);
        Ddl_Delay1ms(1000ul);
        OLED_ShowCHinese(0,2,4);
        OLED_ShowCHinese(16,2,5);
        OLED_ShowString(32,2,":0000",16);
        
            while(1)
            {
                nn++;
                if (nn>4)
                {
                        LED0_TOGGLE();
                        nn=0;
                }
                Ddl_Delay1ms(DLY_MS);
                ADC_PollingSa(M4_ADC1, m_au16Adc1Value, ADC1_CH_COUNT, TIMEOUT_MS);
                q=(m_au16Adc1Value[10u]/1000)+0x30;
                ll=m_au16Adc1Value[10u]%1000;
                b=(ll/100)+0x30;
                ll=ll%100;
                s=(ll/10)+0x30;
                ll=ll%10;
                g=ll+0x30;
                DD[0]=':';
                DD[1]=q;
                DD[2]=b;
                DD[3]=s;
                DD[4]=g;
                DD[5]='\0';
                OLED_ShowString(32,2,DD,16);        
        }</p><p>}
</p>


六、来个显示效果,再录制一个视频
将上述代码编译烧录,看看效果,还可以啊,哈哈哈哈
将可调电阻转到最低位,精准的显示0,不错:




再将可调电阻转到最高位,精准的显示4095,完全OK:



录制一段旋转可调电阻的视频,显示效果完美,视频地址如下:


https://www.bilibili.com/video/BV1X5411Y7Pj


七、开发板评价
1. 华大的这个系列的开发板总体制作精良,用心了
2. 代码风格和ST类似,上手也快
3. 外设功能和ST有细微差异,看过手册也都能明白
4. 这块开发板外设非常齐全,开发板的其它功能,待后续慢慢搞
5. 最后,为二姨家举办这样的活动,点赞





使用特权

评论回复
沙发
yljon|  楼主 | 2020-7-8 13:56 | 只看该作者
为何我的主题帖子或者回复经常被审核?神奇的很

使用特权

评论回复
板凳
比神乐| | 2020-7-8 19:52 | 只看该作者
厉害

使用特权

评论回复
地板
caizhiwei| | 2020-7-8 22:38 | 只看该作者

小辣椒,你怎么换网名了呀?

使用特权

评论回复
5
比神乐| | 2020-7-9 08:07 | 只看该作者
caizhiwei 发表于 2020-7-8 22:38
小辣椒,你怎么换网名了呀?

马甲

使用特权

评论回复
6
starforeye| | 2020-12-12 14:38 | 只看该作者
用SWD是不是只能用一次,第二次被保护

使用特权

评论回复
7
daichaodai| | 2020-12-12 14:48 | 只看该作者
不错,感谢楼主分享。

使用特权

评论回复
8
edyd| | 2020-12-20 14:17 | 只看该作者
不在代码里重新配置SWD,肯定能一直用啊。哪有只能用一次的说法。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

417

帖子

5

粉丝