自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 【通讯就是一门语言-- I am Groot】

通讯,语言

2022-09-18 18:25:35 294 1

原创 在RT-Thread中使用segger RTT调试中断

最近在调试RT-Thread的中断功能。一般调试中断功能都是用IO口去测试的,不能用打印,特别是rt_kprintf()的方式去调试。原因很简单,因为rt_kprintf()的发送是阻塞型的,会占用大量的时间。中断功能最忌讳的就是占用时间太长。最近调试发现,对于常用的STM32来说,有一个不占用时间的打印,那就是:segger RTT。Segger RTT的说明和原理看看下图:别人说可以,那么就要亲自试试。首先是引入segger RTT。对于RT-Thread来说,引入segger RTT

2022-02-19 18:09:44 1077

原创 art-pi smart ADC驱动移植

art-pi smart 里并没有实现ADC驱动,然而我自己又很需要使用ADC,所以只能自己补一个ADC驱动了。主体程序都是仿照drv_pwm写的。大佬说,驱动可以搬imxrt里面的,所以我就借用了rt-thread里的两个关键文件:fsl_adc.c和fsl_adc.h。具体目录参考图片。怎么去理解fsl_xxx文件呢?类比的话就是STM32的HAL库的文件。另外还有drv_adc.c和drv_adc.h也是搬过来的。当然,换了MCU了,函数名字还是需要改改的。放出源码,还有很多需要改

2022-01-27 20:08:00 379

原创 art-pi smart PWM问题修复记录

rt-smart imx6ull c

2022-01-27 16:13:52 353 1

原创 rt-smart 体验C++ 11/14编程

rt-smart 体验C++ 11/14编程有一天,大佬在群里问:“有人可以在smart上试试C++编程么”我就想写个简单的C++的COUT打印试试。结果大佬后面又加了要求,要“使用C++ 11/14的高级特性”好了,简单的COUT不够用了。那么就百度一份C++ 11/14特性的文章。找到这份:C++11/C++14新特性选用了其中一个例子:lambda表达式。为了节约时间,直接复制在userapps/apps里,挑一个apps复制,粘贴一份。然后修改一下名字。把C文件里的内容替换成上

2022-01-26 15:12:57 1018

原创 rt-thread使用segger_rtt打印,节约串口

rt-thread uart jlink rtt

2022-01-09 20:13:42 4727

原创 ART-Pi Smart SDK体验(运行环境:100ASK-IMX6ULL-PRO)

rt-thread smart体验 imx6ull

2022-01-02 16:48:59 844

原创 rt-thread studio 快速复制项目的方法

rt-thread studio把所有项目都放一起,统一管理了。这样的结果就是整个studio里,不能有两个同名的项目。但是,有时候想复制一份出来,做点修改测试的。这时候有一个快速的复制项目的方法。1,在windows里复制你想复制的项目,假设叫yuan,然后粘贴,然后改一个名字,假设叫xin。2,打开xin目录里的.project文件修改两个叫yuan的地方。3,打开.cproject文件,修改接近最后的一个地方4,打开studio,文件,导入,选择xin目录,就可以看到xin的项目了!

2021-09-04 21:41:10 656

原创 rt-thread中的PWM应用

rt-thread中的PWM在stm32单片机上的应用1. RT_USING_PWM要用PWM的device,首先就需要在rtconfig.h中定义RT_USING_PWM这个宏,很简单,配置里勾勾就实现了。2. BSP_USING_PWM1然后在board.h里看到这段相关代码:/*-------------------------- PWM CONFIG BEGIN --------------------------*//** if you want to use pwm you can

2021-01-17 17:30:29 952 1

原创 RT-Thread中使用RTT调试

RT-Thread中使用Jlink的RTT调试RT-Thread中的finsh命令非常实用,但是一般都会占用掉了一个串口。或者有时候手边没有串口线时,就不方便调试了。由于我用的时jlink烧录器,之前使用调试工具-RTT来代替串口进行信息的交互和调试。所以我就想,能否用RTT来替代串口,运行finsh命令。RTT( Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都支持RTT。具体详情自选查找。下面说一下步骤

2020-12-27 17:22:01 5569 3

原创 __weak与函数指针的使用与见解

__weak与函数指针的使用与见解__weak是什么?函数名称前面加上__weak 修饰符,我们一般称这个函数为“弱函数”。加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数,最终编译器编译的时候,会选择用户定义的函数,如果用户没有重新定义这个函数,那么编译器就会执行__weak 声明的函数,并且编译器不会报错。例如:__weak void Callback (void){}函数指针是什么函数指针是指向函数的指针变量。例如:void (*Func) (void)

2020-12-22 11:05:24 703

原创 STM32F0系列UART错误中断问题

STM32F0系列重写的UART相关代码。在新的UART里,容易发出的错误是FE错误和ORE错误。FE的解释如下:FE: 帧错误当一个不同步现象、 强噪声或一个断开符号被检测到的时候, 这个位有硬件置 1。由软件向 USART_ICR 寄存器的 FECF 位写 1, 可以清除这个标志。 在智能卡模式中发送数据时, 当重发尝试的次数达到上限, 由没有收到成功的回应(卡一直响应NACK) 的时候, 这个位也会被硬件置 1。如果 USART_CR1 寄存器中的 EIE 位是 1, 会产生中断请求。

2020-07-16 22:02:53 3721

原创 STM32 HAL_LOCK问题

STM32 HAL_LOCK问题STM32 HAL_LOCK问题在使用STM32的HAL库开发时候,在使用UART和CAN的使用,偶尔会碰到突然不再接收数据的情况.调试发现,信号有的,但是就是软件不再进入接收中断了.通过调试,最后定位到问题点在于__HAL_LOCK()这个函数里.以下用uart为例子,剖析这个问题.典型的uart接收数据例子uart配置后,最后调用一下 HAL_UAR...

2020-04-18 14:20:41 6354 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除