自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式学习之RTOS编程

UCOS是Micrium公司出品的RTOS类实时操作系统,是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制,提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。在UCOSIII中任务就是程序实体,UCOSIII能够管理和调度这些小任务(程序)。UCOSIII中的任务由三部分组成:任务堆栈、任务控制块和任务函数。任务堆栈:上下文切换的时候用来保存任务的工作环境,就是STM32的内部寄存器值。任务控制块:任务控制块用来记录任务的各个属性。

2022-11-07 20:03:17 1229 1

原创 嵌入式学习之STM32实现OLED

SPI(Serial Peripheral interface)是串行外围设备接口,SPI 接口主要应用在 EEPROM,FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,STM32 也有 SPI 接口。SPI 主要特点有:可以同时发出和接收串行数据;

2022-11-04 14:50:33 677

原创 嵌入式学习之I2C通信协议以及基于AHT20实现温度湿度传感

学习I2C总线通信协议,使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。具体任务:1)解释什么是“软件I2C”和“硬件I2C”?(阅读野火配套教材的第23章“I2C–读写EEPROM”原理章节)2)阅读AHT20数据手册,编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)。

2022-11-04 14:09:04 271

原创 嵌入式——使用定时器输出PWM波形,实现 LED呼吸灯的效果

在一个周期波形中,高电平占整个周期的比例称之为占空比,而高电平宽度通常被称为脉冲宽度。当我们在控制占空比,从而控制电路导通或者关闭时间,从而控制导通的有效电压。

2022-10-30 19:17:08 1406

原创 嵌入式学习——使用定时器同时实现串口通信和LED流水灯

在芯片中使用晶振作为计时单位,通过对晶振的计数来实现计时,当时间达到定时器设定的时长后,会跳入对应的函数执行对应的操作。定时器的主要作用是产生一个时基,通俗的讲就是从某一时刻开始,经过一段指定的时间,触发一个中断或超时回调事件,可以在中断或者超时回调函数中处理数据。

2022-10-30 18:41:02 1172

原创 嵌入式开发实验之中断及串口通信进阶

采用串口中断方式重做上周的串口通信作业,分别实现:1)当stm32接收到字符“s”时,停止持续发送“hello windows!当接收到字符“t”时,持续发送“hello windows!在main.c函数中找到/* USER CODE BEGIN 2*/和/* USER CODE END2 */设置按键引脚PA1,设置引脚为外部中断功能,PA1与外部中断线EXIT1连接GPIO_EXIT1。然后在main.c中编写串口数据接受函数和中断函数。PA1——3V3——亮灯。PA1——GND——熄灯。

2022-10-23 15:23:18 799

原创 STM32串口通信小试

2、 RS-232-C接口连接器一般使用型号为DB-9插头座,通常插头在DCE端,插座在DTE端。一些设备与PC机连接的RS-232接口,因为不使用对方的传送控制信号,只需要三条接口线,即“发送数据TXD”、“接收数据RXD”和“信号地GND”。MAX232芯片的作用是将单片机输出的TTL电平转换成PC机能接收的232电平或将PC机输出的232电平转换成单片机能接收的TTL电平。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL电路连接。

2022-10-18 15:59:54 2955

原创 stm32cubeMX使用HAL库操作实例之LED流水灯

8、选择code generate,勾选Generate peripheral,最后点击generate code,点击open project。2、点击HELP,然后选择Manage embedded software packages。4、在set up中选择需要观测的引脚,并在选择引脚之后点击close关闭set up界面。7、设置文件名,设置路径,将IDE栏改为MDK-ARM。2、选择型号,点击Start Project。选择HAL库点击Install进行安装。之后选择安装路径并且点击Next。

2022-10-13 19:29:37 373

原创 STM32F103C8T6寄存器简单应用之LED流水灯

/PA4推挽输出,把第19、18、17、16位变为0010。//----------------GPIOA配置寄存器 -----------------------//----------------GPIOB配置寄存器 -----------------------//----------------GPIOC配置寄存器 -----------------------// RCC->APB2ENR|=1

2022-10-13 18:08:44 1013

原创 keil的安装以及stm32简单程序的编写与调试

点击 Debug,勾选 Use Simulator ,再选择 ULINK2/ME Cortex Debugger ,并点击 Settings。在解压压缩包找到keil.STM32F1xx_DFP.1.0.4包,并打开,点击Next>>点击Color & Fonts,选中C/C++ Editor files,点击OK。在解压压缩包中找到ARM.CMSIS.3.20.4包,点击Next>>打开keil,点击Edit,然后点击Configuration。选择安装路径后,点击Next>>继续。后,点击Next>>

2022-10-08 19:12:57 4678

原创 GCC背后的故事&OpenCV相识何必曾相逢

执行sudo gedit /etc/ld.so.conf.d/opencv.conf命令后打开一个空白的文件 在文件中添加/usr/local/lib。然后执行以下命令: g++ test1.cpp -o test1 pkg-config --cflags --libs opencv。静态库文件的命名规范:以lib作为前缀,是.a文件。动态库文件命名规范:以lib作为前缀,是.so文件。生成main.o gcc -c main.c。(3).使用gcc编译得到.o文件。

2022-09-25 19:40:01 581

原创 Ubuntu系统里使用gcc和Makefile编译c程序

4. 请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;1.使用ctrl+alt+t打开Ubuntu终端,然后输入vim hello.c创建一个c程序进行程序编译,按下回车键进入编译界面,按下i开始编译。使用gcc将main1.c和sub1.c生成生成main1.o和sub1.o文件。2.编写main1.c程序和sub1.h程序。

2022-09-10 18:11:44 1952 1

空空如也

空空如也

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

TA关注的人

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