- 博客(17)
- 收藏
- 关注
原创 一点五编程(三)——总结与总体构建流程
io_led——io_led.c io_led.h {io_led.c中编写的是对结构体内的接口函数实现和初始化,如创建一个io_led_i的接口结构体 然后对接口函数进行实现 以及编写初始化函数}{io_led.h中定义io_led结构体还有声明初始化函数 方便调用}{io_led.h还需要进行硬件平台层的接口定义 其内容与light.h相似}
2024-08-22 15:35:01
482
原创 一点五编程(二)补充说明及构建细节
在interface接口层的设计中 所有的形参都是void*类型 指代任何结构体,在硬件实现层时形参为该硬件结构体的实例通过(light_on_fn_t) io_led_on强制转换 将硬件结构体传入接口函数内。
2024-08-22 14:15:01
230
原创 [一点五编程]--对于嵌入式开发中 使用面向对象的理念 通过C语言中的结构体和函数指针实现C++三大特性
在灯的设计中 要用到的功能有开灯(led_open) 关灯(led_close)所以typedef函数指针。
2024-08-19 14:24:51
516
原创 DSP TMS320C6678 CSL库学习笔记——UART
C6678的开发环境是TI官方推出的IDE——CCS。CCS是基于eclipse框架开发,我个人的使用感受来说,不如vscode。且CCS的代码补全功能没有vscode好用。作为一个嵌入式软件开发工作者,熟悉统一的编辑环境,能让开发者在开发新的硬件设备时,加快适应周期。所以这里建议大家使用vscode作为编辑器来开发C6678本教程默认读者已经熟悉了C6678的工程设置,如果完全不会,可以参考创龙开发板的用户手册,请阅读并实操后,再来阅读本文。
2024-07-14 12:22:16
920
原创 Clion+STM32+LVGL:(一)移植及踩坑
上图是我修改后能正常运行的代码,我舍弃了LCD_FILL函数,将LCD_FILL代码内的内容移植到此处并进行了修改。下图是LCD_FILL函数的内容;由于LCD_FILL函数修改起来很麻烦,修改后,需要大量修改驱动代码,所以不如直接舍弃LCD_FILL,直接在disp_fulsh内写入逻辑代码即可。这就是为什么将color_p->full传入LCD_FILL依然无法正常显示的原因,color_p其实是一串数据的首地址,我使用的LCD屏驱动是wiki网站上的,其LCD_FILL函数中,形参为u16类型。
2024-05-04 14:22:47
439
1
原创 【Clion/keil+CubeMX+simulink模型化开发STM32】(一)创建项目工程-点亮led
随着嵌入式行业发展,单片机的开发从汇编到c语言,从寄存器到库函数,开发门槛越来越低,效率越来越高。stm32的开发方式也有很大的变化,从一开始的纯代码构建项目工程,到现在结合GUI的cubemx自动生成寄存器配置等代码,stm32的开发方式越来越脱离手写代码,好处也很明显,通过GUI的方式可以快速上手开发,同时自动生成的代码不易出错,开发者只需要专注应用层代码,无需关注底层寄存器。
2024-04-22 23:26:35
1124
1
原创 【Clion+CubeMX开发STM32】(四)RTOS篇 创建RT Thread项目工程(ENV工具)
前面几篇文章已经讲解了如何通过clion平台结合openOCD进行单片机开发,不过裸机开发并不能应对所有的开发场景,在复杂系统和高时效性的开发需求下,RTOS实时操作系统是单片机开发中必不可少的一环。在cubeMX中可以很方便的添加freertos或者rt thread等实时操作系统内核到你的项目工程中,随用随加,以freertos为例,添加freertos到你的项目工程中去,只需在cubemx中勾选上freertos即可,甚至可以不修改时钟源,使用嘀嗒定时器也能运行。
2024-04-08 17:21:46
1368
1
转载 VMware虚拟机网络配置-NAT篇
网上有好多VMware的网络配置教程,各个方法都不一样,新人往往云里雾里,本人亦深受其害,偶尔成功一次,也不明白原理,下一次照样犯错,故写博客记录。自己动手设置几次,配合图1的拓扑结构图,真正的理解了。VMware Network Adapter Vmnet8的作用是联通主机与虚拟机,有心的话,当在主机上ssh虚拟机时,会发现虚拟机上显示的IP来源(W命令),就是VMware Network Adapter Vmnet8的地址,而不是主机上的(有线网卡、无线网卡)地址。
2023-12-02 00:27:41
258
1
原创 rt thread studio 死循环b Infinite_Loop
*问题描述:**rt thread studio中调用HAL_UART_Receive_IT或HAL_TIM_Base_Start_IT等函数开启外设中断,进入死循环b Infinite_Loop。但是,当我们使用rt thread studio联合cubemx开发时,stm32f1xx_it.c不会参加编译,因为rt thread会重写一套相关的中断服务函数,并放置在相应的drv文件中。首先,选择你的开发方式,如果是rt thread驱动开发,那么按照手册进行开发即可,不会出现上述问题。
2023-12-01 14:17:29
580
1
原创 STM32 HAL库+ESP8266+机智云
最近在项目中需要使用云平台对接,于是在网上查找了一些资料,发现机智云是一个不错的选择,网上的资料多,而且可以根据mcu生成通信协议代码,仅需要将生成的代码移植到开发好的项目中,即可实现上云。不过在实际开发中,仍然遇到了一些问题,所以在此处将我的开发心得记录下来。到此,整个工程代码已经移植完毕,但是现在的代码只是一个框架,我们还没有去写接收处理函数和发送函数其实这两个函数,在上面的代码中已经完成,我们只需要在相关的代码中填写上我们需要传输的数据即可。
2023-11-30 15:54:56
3227
14
原创 我的创作纪念日
提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等。
2023-07-20 15:54:31
115
1
原创 【Clion+CubeMX开发STM32】(三)为你的工程创建GIT远程仓库
七、将我们前面在远程仓库中复制的HTTPS地址粘贴进去八、关联成功后,右边的信息框会显示刚刚我们提交的代码,左边会显示提交信息,点击推送。九、推送完成,可以在github远程仓库中查看是否推送成功。CLion中还可以对git进行一些其他的便携操作,本文就不再赘述,大家可以自己摸索十、刷新一下远程仓库,就可以看见工程已经推送成功了,之后对工程做了修改之后,只需要做第六步或者直接点击第五步右上角的提交和推送按钮。
2023-04-16 15:49:36
484
STM32F103C6T6 CUBEMX HAL库 定时器输入捕获 超声波模块代码每行都有注释
2022-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人