本帖最后由 muxb 于 2023-3-27 09:02 编辑  
 
#申请原创# 拿到板子首先研究了GPIO的操作,厂家提供的资料很全,有硬件原理图,软件库,LVGL demo等,详见百度网盘:百度网盘:https://pan.baidu.com/s/1atLWlk1_SUR8WjISr-Bfpw 
密码:byv2 
 
首先看板子照片和显示效果: 
这个是接了DS18B20的图片,接的是B0脚。 
 
 
 
这个是LCD显示的测试信息,本来想把温度也显示在LCD上的,但是还在调试中,现在只显示了demo。 
 
 
 
从原理图上找的空闲脚,B0和N4,N5都可以: 
 
 
 
因为要用到DS18B20的GPIO操作,所以首先测试了一下GPIO的翻转,软件库还挺好用: 
就两句话,初始化和赋值。 
 
 
 
 
 
这个是在1ms的中断服务程序中翻转,翻转的是N4脚。 
 
 
 
这个是翻转的波形: 
 
 
 
接着就移植和调试DS18B20的驱动,简单的读取了一下ID和温度值: 
 
 
 
因为要用定时器延时,需要知道系统时钟,直接打印了系统时钟150MHz,的确挺高的。 
这个是我用定时器4实现的微秒延时,还挺准的: 
void delayus(uint32_t cnt) 
{ 
        TIMRG->EN = 0; 
        TIMR4->CR = 0; 
        TIMR4->PREDIV = 25 - 1;        //150M/25=6M 
        TIMR4->LOAD = cnt*6 - 1;        //6/6M=1us 
        TIMRG->EN |= 0x10;        //tmr4 en 
        while(TIMR4->VALUE & 0x000FFFFF); 
        TIMRG->EN &= 0xEF;        //tmr4 dis 
} 
 
 
最后,说下程序下载,因为我没有JLINK V9,所以直接用的ISP方式下载,这个工具也挺好用的: 
 
 
SWD和串口复用的,所以下载的时候直接把TX RX跳过去到SWD上面就好了,ISP那个脚接上3V3,RST一下就可以握手成功了。 
欢迎大家互相交流,继续调试了。。。 
 
 |