自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 程序设计|C语言教学——C语言基础1:C语言的引入和入门

C语言的第一个版本叫“K&R the C”,在这之后,1989年发布了ANSI C,1990出现了C89,在这之后C的标准经过了几次更新,我们使用的版本是C99,当代几乎所有的C语言编译器都支持C99。编程语言本身不存在解释和编译之分,只是传统和习惯的问题,某种语言习惯用解释或编译来执行。还有一个问题就是,我们在输入标点符号的时候一定要处于英语输入法,如果是中文输入法的话,同样的标点符号有可能就无法识别。在第三版的Unix上第一次出现了C语言的编译器,而第四版的Unix则是由C语言编写的。

2024-04-17 23:01:19 298

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记16:蓝桥杯编程手册

注意:RTC_TimeTypeDef rtc_time可以不用背,直接仿照MX_RTC_Init(void)里面的第一第二行就行了,定义的这个结构体就是HAL_RTC_GetTime()的第二个变量。8.解决LCD和LED冲突问题并测试。设置数字量:HAL_DAC_SetValue(&hdac1,DAC_CHANNEL_1,DAC_ALIGN_12B_R,1365)输出:HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8 | GPIO_PIN_9,GPIO_PIN_SET)

2024-04-09 22:03:46 1086

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记13:RTC实时时钟

RTC是集成在STM32G4内部的一个模块,我们通过对寄存器的一些配置和读取就可以让他工作在实时时钟的计时模式。

2024-04-08 16:47:51 1024

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记15:PWM输出

上节课讲解了PWM捕获,这节课讲解一下PWM的输出,也就是用STM32进行编程,让在特定的管脚上产生PWM信号,这个信号的占空比和频率是可调节的。我们知道开发板上有两个排针:这些排针上对应的是相应的管脚,其中PA1-7都是可以用作PWM输出的(当然也可以用作捕获),不同管脚对应TIM的不同通道,只需要在CubeMX中配置引脚就可以看到对应的通道了。上一节我们PWM捕获也用到TIM,这里我们PWM输出的时候就不要用相同的TIM。

2024-03-30 22:03:19 1870 1

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记14:PWM捕获

这节讲解一下PWM捕获的基础知识。PWM捕获是指我们的单片机可以测量输入到它管脚上的方波的频率或者占空比,捕获就是说我们可以捕捉外部方波的信息。这就是我们这节要学习的内容。

2024-03-30 13:45:06 1208 1

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记12:DAC数模转换

DAC是将数字量转化成模拟量的器件,我们可以通过编程来实现输出某个特定的电压值,也就是模拟量。STM32G4内部集成了一个DAC模块,我们通过对STM32的编程就可以实现在它的特定的管脚上输出一个特定的电压,当然这个电压是可以通过我们的程序进行变化的,比如我们可以让他输出一个三角波或者正弦波都是可以的,只要在0-3.3V的范围之内就可以。当然,DAC输出也会受限于内部DAC器件的位数和精度。这一节的重点在于要知道DAC的接口PA4、PA5,以及它是12位的右对齐,知道要配置外部引脚输出,还要会写。

2024-03-27 14:09:22 1094

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记11:数字电位器MCP4017

数字电位器MCP4017本质是一个IC器件,也就是说它是一个集成芯片,而板子上的蓝色旋转电位器R37、R38本质是一个电阻。数字电位器本质是一个芯片,但是内部有一个电阻网络,通过很多模拟开关来给电阻网络切换不同的阻值,我们是通过之前介绍过的I2C总线来给芯片发送数据,告诉芯片我要打开哪些模拟开关,从而控制它的阻值。

2024-03-26 21:55:28 1022

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记10:USART串口通讯

今天讲解一下STM32G4的串口通讯模块USART,即通用同步异步收发器。相比与UART异步收发器,USART是可以同步通讯的,即接收端和发送端共用一个时钟,是有一个时钟线的。但是我们比赛和蓝桥杯板子上只用到了异步收发,所以我们只能把USART设置成Asynchronous(只需要用到两根线,收和发)。本节讲了串口通信USART的内容,因为我们没有接时钟线,所以只有异步通信也就是UART的内容。首先了解了一下通信的基本原理,需要了解硬件电路,以及数据收发的时序图,还有波特率的概念。

2024-03-18 22:37:25 1250 3

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记09:EEPROM

上一节我们学习了LCD转换,这节课学习一下EEPROM。学习EEPROM芯片之前要先学习一下它所使用的IIC协议,它通过这个协议和单片机进行通讯。一、IIC协议IIC是一个总线协议,它可以用于主器件与从器件之间交换数据使用。主器件就是我们所用的单片机了。IIC协议需要用到两根线,一根数据线,一根时钟线,不同于单总线协议只有一个I/O口。所以IIC可以提高通讯速率。IIC协议是一个通用的协议,有很多芯片都是用这个协议进行通讯的,EEPROM就是其中之一。

2024-03-08 17:23:16 1242 1

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记08:LCD液晶屏

上一节我们学习了ADC模数转换,这节课学习一下LCD液晶屏的显示模块。我们板子正中央就是一个全彩的LCD显示屏,上面也可以显示一些英文字符和数字,其实屏幕本身也可以显示一些图案或者中文字符的,但是比赛中是不会要求的,因为比赛的例程中没有提供中文字符的编码,所以比赛一般只会要求显示背景色,英文字符的颜色等。一、电路原理​LCD的分辨率是320*240,一行最多显示20个字符,总共10行,比赛时提供HAL_LCD例程,相关的IO已经帮我们初始化完成。

2024-03-08 11:58:00 773 1

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记07:ADC模数转换

上一节我们学习了GPIO的按键输入并设计了一个利用定时器每10ms扫描一次的三行按键法的程序,这一节我们继续学习ADC模数转换的内容。关于ADC模数转换器,它的主要功能就是把一个模拟量变成数字量。数字当然也可以转化成我们常见的十进制数,这样我们更容易能读出它的值是多少。一、电路原理我们来看一下ADC的电路原理,首先单片机用到的管脚是PB15和PB12这两个管脚,他们是可以作为ADC的输入口使用的,当然我们也可以把他们配置成普通的GPIO,但是比赛的时候一般是把这两个管脚作为ADC的口来使用。

2024-03-08 10:19:13 1186 1

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记06:按键输入

上一节我们讲了STM32G4的Systick定时器,并且考虑到程序调度重新设计了LED灯循环闪烁的程序,可以不占用资源的情况下实现延时功能。这一节我们讲一下GPIO输入模块———按键功能。一、GPIO输入在学习独立按键之前,我们必须先了解一下GPIO的输入模式,了解一下GPIO输入的内部框图是怎么构成的,只有了解了内部构成才能更清晰地认识到GPIO输入该怎么配置,在某种配置下有什么作用。​。

2024-03-07 22:28:08 1051

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记05:Systick滴答定时器

上一节我们讲了比赛时程序设计的流程,以及LED灯模块的设计,这一节我们学习一下Systick系统滴答定时器的一些功能。我们主要学习系统滴答定时是什么东西,有什么作用, 以及如何使用它来实现一些我们想要的功能,对于它的内部构造和原理就不在范围之内了。本节的主要内容是将Systick用于程序调度的方法,一定要熟练掌握。本节的内容以后在实时操作系统RTOS中很重要。下节课将学习KEY按键输入的内容。

2024-03-07 15:54:33 1155

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记04:从零开始创建工程模板并开始点灯

上一节讲了时钟的配置并且生成了一个没有用的工程文件(里面可以看时钟配置的代码),这一节我们将从零开始新建一个带有GPIO的文件,能够实现具体的功能——LED灯的控制。并且在其中可以学习GPIO的相关知识,以及需要用到的函数,并自己进行流水灯的编程。再将LED模块的原理之前,我们必须先了解GPIO的相关知识,因为LED灯模块本质上就是GPIO的输出。一、GPIO输出模式打开参考手册351页可以看到GPIO的定义,我们可知GPIO输出模式可以配置成推挽模式或者开漏模式。

2024-03-06 23:22:44 937

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记03:G4时钟结构

上一篇讲了开发环境的安装,这一篇讲一下STM32G4的时钟结构。时钟是STM32的很重要的内容,时钟主要就是用来为STM32提供一个工作频率,比如我们的板子就是配置的80MHz的主频,如果加法运算需要四个时钟周期(微机原理的内容),那么4/80M 秒就能完成这个工作。所以我们可以理解为80MHz就是为系统提供的一个时间基准,决定了它运行的速度。G4的时钟结构是比较复杂的,因为它可以给不同的外设配置不同的时钟频率,比如主频80,定时器可以设置成40,等等。

2024-03-05 14:46:31 1227

原创 机器人学|手机玻璃加工全自动化——AGV+机器人+视觉解决方案(含双目三维视觉SLAM建图、MATLAB的AGV路径规划导航避障、六轴机械手臂建模与路径规划仿真,附带源代码)

目标:某企业为3C部件精密加工企业,其加工的零件为手机玻璃,要求加工精度为±0.01mm,目前为人工运输至加工中心加工,由人工采用千分表在大理石平台上逐个测量实现。企业为减少人工成本,提高生产效率,要求采用自动化生产线方式实现。试调研国内外移动操作机器人现状,并作出自动化解决方案,列出主要部件BOM清单,并列出AGV+机器人+视觉形成的解决方案,列出技术点,并尝试计算采用自动化方案与采用人工方案相比,何时收回自动化生产线改造成本。

2024-01-15 19:56:49 1107

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装

上一篇介绍了一下蓝桥杯板子CT117E的硬件情况,这一篇讲一下如何配置开发环境。基于STM32CubeMX的HAL库开发主要依靠图形化配置软件STM32CubeMX、JAVA开发环境、集成开发环境MDK-ARM、芯片器件包、HAL固件包。这五个软件资源的安装可以分为两个部分,一是STM32CubeMX开发工具的安装,在此之前要先安装JAVA运行环境(JRE),安装之后还需要在CubeMX中添加对应芯片的HAL固件包。二是集成开发环境MDK-ARM的安装,同样,安装后需要添加芯片的器件包。

2024-01-12 18:48:56 1297

原创 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台

蓝桥杯嵌入式是本人参加的第一次学科竞赛,之前没怎么学过嵌入式,算是零基础。因为课题组而选择了嵌入式的方向,以后还有很长的路要走,STM32单片机是我的嵌入式生涯第一站,决心要认真学好,在比赛中锻炼自己的单片机水平,有了这个基础以后进一步学习嵌入式才能走的更远。蓝桥杯嵌入式个人赛省赛:考试时间5小时,总分100,分客观题和主观题,客观题15条选择题,每题1分,主观题85分的程序设计题。

2024-01-12 15:55:00 1337

嵌入式-蓝桥杯STM32G431(HAL库开发)-CT117E学习笔记09:EEPROM

嵌入式-蓝桥杯STM32G431(HAL库开发)-CT117E学习笔记09:EEPROM

2024-03-08

双目三维视觉SLAM建图、MATLAB的AGV路径规划导航避障、六轴机械手臂建模与路径规划仿真

双目三维视觉SLAM建图、MATLAB的AGV路径规划导航避障、六轴机械手臂建模与路径规划仿真

2024-01-15

蓝桥杯USB转串口驱动

蓝桥杯USB转串口驱动

2024-01-12

我的科研学习路线图(深度学习、ROS、嵌入式)

我的科研学习路线图(深度学习、ROS、嵌入式)

2024-01-11

空空如也

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

TA关注的人

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