分类: 嵌入式

18 篇文章

【仪表·LCD款】MC-LJ-S1(G51)
一、外形 二·、界面 区域一: 主显示数字:正常使用时显示设备当前速度,进入设置状态后显示Px指示设置项。 速度单位:km/h公里每小时,mp/h英里每小时。 其他图标:未使用 区域二: 从左至右依次是:尾灯指示,充电指示,刹车指示,电机报错图标,油门报错图标,控制器报错图标 区域三: 副显示数字:正常使用时显示设备的odo(总里程)/trip(本…
【裸板驱动】按键驱动函数分享
一、源码 drv_key.c文件 /*********************************************************** 文件功能: 实现按键的检测功能 用法介绍: 1.配置宏定义DRV_KEY_GET_STATE,设置按键状态获取函数 2.配置宏定义DRV_KEY_NUM,设置按键个数 3.设置Drv_Key_I…
【foc电机控制·笔记三】H桥电路和三相电机驱动逻辑
一、回顾 1、第一章的时候,我们了解到,无刷电机就是在有刷电机的基础上,通过变换参考对象转变过来的。但是变换之后,我们需要增加两个部分,“位置传感器”和“线圈控制器”。 2、第二章的时候,我们了解到位置传感器,是通过三个hall元件感应磁钢的电磁,从而获得转子的位置。 3、所以这一章就了解一下,晶体管具体是怎么样控制线圈的。当然晶体管有很多钟,本章…
【foc电机控制·笔记二】位置传感器初了解
一、前言 1、各位看官且听好了。这上回说到,无刷电机就是从有刷电机变换过来的。这变换之后呢,就不能自行换相了(切换线圈供电)。这相不能切换了,这还了的,但工程师总有办法,他自然能解决这个难题。 2、话说原本有刷电机换相,是通过机械结构自行切换的。变换为无刷电机后,控制系统要先检测到转子的位置,然后再根据转子位置控制三相输出,这样往复循环,才能控制电…
【foc电机控制·笔记一】三相电机的理论支持
一、前言 1、说在最前,博主推荐一部电影《三傻大闹宝莱坞》。里面有一个让博主印象深刻的片段,兰彻用“记录、分析、总结......”一长串的话描述“书”,来嘲讽教授只会注重课本上的定义,而忽略了定义背后的本质。 2、公式、定理、道理...,都是对某一方面有深刻认识的人,为了总结其领会到的本质,不得已用公式、文字描述出来。先有的本质,才有对这些实物的描…
【f1c200s笔记八】实现usb与无线网
一、开启usb功能 linux开启某项功能的三步,设备树,驱动,应用。 1、设备树添加usb设备节点 1、linux5.7.1已经对全志系列芯片进行了支持,可惜的是f1c200s并不在其中,不过关于usb的驱动,可以借鉴a10型号,并做出一些修改。 2、添加驱动第一步,修改设备树。修改设备树之前,通过源码中Documentation下的帮助文档,找…
【f1c200s笔记七】u-boot开机logo
一、开启u-boot显示功能 1、首先要说明的是,博主的LCD屏是裸屏,不需要对屏幕进行初始化,即可直接使用。所以下面的步骤是省略了显示屏初始化部分。 2、类比kernel开启显示功能,推测实现u-boot开启显示功能大概也是三个方面,第一配置设备树,第二是在菜单中打开驱动,第三是应用层调用。 2、事实也确是如此,但也并不完全如此。可能是因为博主的…
【f1c200s笔记六】运行lvgl模板并开机自启
一、关于交叉编译环境 1、还记得第一节,配置的交叉编译环境吗,u-boot和内核都是通过它编译的,且都可以正常运行。但是当博主使用其编译应用程序的时候,发现执行程序无法在设备上运行。 2、查阅多方面的资料,发现交叉编译环境确实是在x86架构上编译生成arm架构的程序,但是arm同样有多种架构和指令集,博主使用的交叉编译环境默认生成v7指令集的可执行…
【f1c200s笔记五】点亮屏幕
一、总述 1、做过单片机的小伙伴都知道,想要点亮屏幕,首先是对屏幕做初始化,然后把显示数据传入屏幕,就可以控制屏幕显示了,当然这只是简单描述。 2、实际在控制屏幕的过程中,首先是对屏幕这个外部设备进行初始化,比如扫描方式、行列数目,前后门廊啊等等,当然大部分情况下是供应商直接提供的初始化代码。其次是要对单片机的外设接口进行初始化,外设接口是要和屏幕…