本帖最后由 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一下就可以握手成功了。
欢迎大家互相交流,继续调试了。。。
|