H2Z20Str
码龄5年
关注
提问 私信
  • 博客:107,202
    视频:4
    107,206
    总访问量
  • 60
    原创
  • 18,490
    排名
  • 837
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2020-03-03
博客简介:

H2z1220的博客

查看详细资料
  • 原力等级
    领奖
    当前等级
    4
    当前总分
    733
    当月
    31
个人成就
  • 获得1,066次点赞
  • 内容获得15次评论
  • 获得1,549次收藏
  • 代码片获得1,098次分享
创作历程
  • 48篇
    2024年
  • 7篇
    2023年
  • 5篇
    2022年
成就勋章
TA的专栏
  • stm32学习
    31篇
  • Ardupilot4.2.2
    6篇
  • Linux
    14篇
  • C语言笔记
    1篇
  • cadence
    4篇
兴趣领域 设置
  • 嵌入式
    stm32物联网
  • 开源
    github
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

PIXHAWK(ardupilot4.52)单ic通道输出pwm

搜索查找后可以找到void AP_MotorsUGV::output(bool armed, float ground_speed, float dt)这个函数,看名称可以判断为输出函数。_throttle在这个函数中使用了,但是最终都汇聚在SRV_Channels::output_ch_all();在这个函数中可以看到形参desired_throttle最终是递给了_throttle这个参数。该函数下,前面的都是验证每个通道分别需要多少的pwm输出,函数的最后才是控制单独通道的单独输出。
原创
发布博客 2024.11.18 ·
419 阅读 ·
7 点赞 ·
0 评论 ·
6 收藏

STM32CubeMX学习笔记33---芯片因未选serial debug被锁住

利用STM32CubeMX配置了一个工程,下载到芯片后,芯片能够正常工作,但是在第二次通过SWD却怎么都连接不上芯片,偶尔按住复位键能够连接上芯片,但是无法读取也无法擦除flash。在配置STM32CubeMX时,sys设置中,选择了Disable才导致了芯片被锁死,需要配置成serial debug(由于之前用的是103,没有这个设置,所以一直没注意到)。2、boot0和boot1都接高电平,然后给芯片擦除flash并烧录一个正常的固件,boot0和boot1都恢复正常的工作状态即可。
原创
发布博客 2024.11.14 ·
270 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

Linux学习笔记14---EPIT 定时器实验

EPIT的全称是:,直译过来就是增强的周期中断定时器,它主要是完成周期性中断定时的。学过 STM32的话应该知道,STM32里面的定时器还有很多其它的功能,比如输入捕获、PWM输出等等。但是I.MX6U的EPIT定时器只是完成周期性中断定时的,仅此一项功能!至于输入捕获、PWM输出等这些功能,I.MX6U由其它的外设来完成。EPIT是一个32位定时器,在处理器几乎不用介入的情况下提供精准的定时中断,软件使能以后 EPIT就会开始运行,EPIT定时器有如下特点:
原创
发布博客 2024.10.23 ·
1048 阅读 ·
31 点赞 ·
0 评论 ·
10 收藏

Linux学习笔记14-EPIT 定时器实验例程

发布资源 2024.10.23 ·
zip

Linux学习笔记13---GPIO 中断实验

中断系统是一个处理器重要的组成部分,中断系统极大的提高了CPU 的执行效率,本章会将I.MX6U的一个IO作为输入中断,借此来讲解如何对 I.MX6U的中断系统进行编程。
原创
发布博客 2024.09.23 ·
1027 阅读 ·
14 点赞 ·
0 评论 ·
28 收藏

Linux学习笔记13-GPIO 中断实验例程

发布资源 2024.09.23 ·
zip

Linux学习笔记12---主频和时钟配置实验

I.MX6U 的所有外设时钟源都是从这7路PLL和有些PLL的 PFD 而来的,这些外设究竟是如何选择PLL或者PFD的?这个就要借助《IMX6ULL参考手 册》里面的时钟树了,在“Chapter 18 Clock Controller Module (CCM)”的18.3小节给出了I.MX6U 详细的时钟树图,如图所示:在图中一共有三部分:和SYSTEM CLOCKS。其中左边的就是我们上一小节讲解的那7路PLL和 8 路PFD,右边的。
原创
发布博客 2024.09.06 ·
1163 阅读 ·
8 点赞 ·
0 评论 ·
29 收藏

维度不固定的多维数组形参笔记

假如我有多个元素个数都不一致的多维数组都需要调用这个函数进行处理,这个形参问题就凸显出来了,总不能创建N个不同的函数来进行处理吧?这样也太繁琐了,而且也适用度不高。这个函数可以传入多维数组,但元素个数必须是固定的,假如传入一个str[][20],元素个数不一样的数组,那么这个函数就不适用了,且会报错。所有数据在存储空间里面都是有地址的,那么就可利用指针寻址来获取到相应的数据。在查找了一些资料后受到了一点启发。而这里也可利用指针来指向多维数组。
原创
发布博客 2024.09.05 ·
252 阅读 ·
4 点赞 ·
0 评论 ·
0 收藏

Linux学习笔记12-主频和时钟配置实验程序

发布资源 2024.09.03 ·
zip

Linux学习笔记11---按键输入

I.MX6U 的 IO 不仅能作为输出,而且也可以作为输入。I.MX6U-ALPHA 开发板上有一个按键,按键连接了一个 IO,将这个 IO 配置为输入功能,读取这个 IO 的值即可获取按键的状态(按下或松开)。本章通过这个按键来控制蜂鸣器的开关。
原创
发布博客 2024.08.30 ·
725 阅读 ·
11 点赞 ·
0 评论 ·
23 收藏

Linux学习笔记11-按键输入

发布资源 2024.08.30 ·
zip

Linux学习笔记10---蜂鸣器

beep.c 文件一共有两个函数:beep_init 和 beep_switch,其中 beep_init 用来初始化 BEEP 所使用的 GPIO,也就是 SNVS_TAMPER1,将其复用为 GPIO5_IO01,和上一章的 LED 灯初始化函数一样。前几章试验中的驱动 LED 灯亮灭属于 GPIO 的输出控制,本章再巩固一下 I.MX6U 的 GPIO输出控制,在 I.MX6U-ALPHA 开发板上有一个有源蜂鸣器,通过 IO 输出高低电平即可控制蜂鸣器的开关,本质上也属于 GPIO 的输出控制。
原创
发布博客 2024.08.07 ·
777 阅读 ·
21 点赞 ·
0 评论 ·
23 收藏

Linux学习笔记10-蜂鸣器实验代码

发布资源 2024.08.07 ·
zip

Linux学习笔记9---BSP 工程管理实验

一个工程的功能越多,所需要的功能文件就越多,那么文档就会更大,显得很混乱,所以我们需要对这个工程进行整理,将源码文件分模块、分功能整理。
原创
发布博客 2024.05.13 ·
1328 阅读 ·
13 点赞 ·
0 评论 ·
27 收藏

Linux学习笔记8---官方 SDK 移植实验

在上一章中,我们参考 ST 官方给 STM32 编写的 stm32f10x.h 来自行编写 I.MX6U 的寄存器定义文件。自己编写这些寄存器定义不仅费时费力,没有任何意义,而且很容易写错,幸好NXP 官方为 I.MX6ULL 编写了 SDK 包,在 SDK 包里面 NXP 已经编写好了寄存器定义文件,所以我们可以直接移植 SDK 包里面的文件来用。虽然 NXP 是为 I.MX6ULL 编写的 SDK 包,但是 I.MX6UL 也是可以使用的!
原创
发布博客 2024.05.11 ·
879 阅读 ·
18 点赞 ·
0 评论 ·
15 收藏

Linux学习笔记7---仿STM32自建寄存器库

根据结构体 GPIO_Type的定义,其第一个成员变量为DR,也就是 DR寄存器,I.MX6U 一共有通过上面三步我们就可以通过“GPIO1->DR”来访问 GPIO1的DR寄存器了。同样的,其他的外设寄存器都可以通过这三步来定义。
原创
发布博客 2024.05.11 ·
935 阅读 ·
26 点赞 ·
0 评论 ·
29 收藏

Linux学习笔记6---C语言编写LED灯程序

在编写C语言程序之前,需要用汇编语言编译一个启动程序,将我们的程序跳转到main函数执行。
原创
发布博客 2024.05.10 ·
1134 阅读 ·
15 点赞 ·
0 评论 ·
10 收藏

Linux学习笔记5---WSL2编译裸机程序并烧录至SD卡

此时,生成了.imx (可在Linux下用dd命令烧录), img (可在windows下用Win32DiskImager烧录SD卡)。load.img的内容是在load.imx基础上偏移了1K 字节,这样可以直接烧录到SD卡。正点原子的imxdownload由于包含了烧录的功能,但在WLS上无法识别SD卡,因此无法使用,所以可以将imxdownload的烧录功能都取消,让程序生成一个可烧录的镜像文件即可。那程序不就不能烧录到SD卡上了?写入成功后将SD卡插回开发板上,选择SD卡启动,程序成功运行。
原创
发布博客 2024.05.10 ·
979 阅读 ·
24 点赞 ·
0 评论 ·
15 收藏

Linux学习笔记4---点亮LED灯(汇编裸机)

本系统学习利用的是正点原子的阿尔法mini开发板,本系列的学习笔记也是按照正点原子的教程进行学习,但并不是利用虚拟机进行开发,而是使用Windows下的子系统WSL进行学习。因为 Cortex-A 芯片一上电 SP 指针还没初始化,C 环境还没准备好,所以肯定不能运行 C 代码,必须先用汇编语言设置好 C 环境,比如初始化 DDR、设置 SP指针等等,当汇编把 C 环境设置好了以后才可以运行 C 代码。所以 Cortex-A 一开始肯定是汇编代码。
原创
发布博客 2024.05.09 ·
1389 阅读 ·
28 点赞 ·
0 评论 ·
19 收藏

Linux学习笔记3---WSL2交叉编译

ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译器,在上一章里面已经讲解了如何在 Liux 进行 C 语言开发,里面使用 GCC 编译器进行代码编译,但使用的 gcc 编译器是针对 X86 架构的!交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。交叉编译器有很多种,我们使用 Linaro 出品的交叉编译器,Linaro 是一间非营利性质的开。
原创
发布博客 2024.05.09 ·
587 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏
加载更多