自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32用定时器4的微妙和毫秒的延时函数

【代码】STM32用定时器4的微妙和毫秒的延时函数。

2023-10-30 23:18:55 185

原创 esp8266Arduino开发

注意Serial.println()和Serial.printf()的区别是ln的是自动换行,后者不换行。在APP里面添加独立设备-网络接入-复制key(设备秘钥)-返回独立设备-新建按钮-编辑按钮。通过网页端按钮实现继电器的控制(WIFI插座)(把IP地址直接复制到网页就可以点开关了 )测量水位并在手机APP显示---在按钮中添加新建组件对象。通过小爱音箱实现继电器的语音控制(WIFI智能插座)通过手机APP实现继电器的控制(WIFI插座)DHT11测量温湿度并在手机APP显示。测量水位并在网页端显示。

2023-10-29 16:52:24 235

原创 STM32生成反汇编文件

C函数:return sum;让Keil生成反汇编:为例方便复制,制作反汇编的指令如下:C函数add的反汇编代码如下:i.addadd。

2023-10-24 22:30:38 509

原创 STM32HAL库定时器中断

【代码】STM32HAL库定时器中断。

2023-10-11 21:22:33 195

原创 电源管理12

防止反接12V-5V5v-3.3v。

2023-07-20 01:01:17 34

原创 标准库滴答定时器的用法

【代码】标准库滴答定时器的用法。

2022-11-18 20:45:18 217 1

原创 标准库PWM模式配置

电机PWM电机启动 调用这个函数启动即可 MotorPWMSet()PWM定时器2的配置。

2022-11-18 14:08:23 309

原创 串口3的手写函数中断接受

【代码】串口3的手写函数中断接受。

2022-11-16 12:26:47 723

原创 简单串口中断发送和接受程序(适合于数据量比较少的)

【代码】简单串口中断发送和接受程序(适合于数据量比较少的)

2022-11-16 12:07:49 433

原创 简单串口打印调试

复制一下文件就可以了。

2022-11-09 21:47:58 306

原创 事件组的理论

事件组的创建 xEventGroupCreate 设置事件组 xEventGroupSetBits 等待事件组 xEventGroupWaitBits。事件组的原理,每一个事件组忙完自己的事之后要设置uxEventBits 的每一位。同步点 xEventGroupSync。

2022-11-08 17:15:25 105

原创 常见keil消除警告和报错

1-D: last line of file ends without a newline 文件最后一行不是新行解决:保证文件最后一行什么符号也没有: missing return statement at end of non-void function “xxxx” 没有返回值解决: 检查并在所指出的函数中添加返回值语句,通常是编写程序时候设定了返回类型但是没有设定返回值,需要注意的是这个问题有时候会导致建立文件时产生错误。

2022-11-08 16:36:52 3933

原创 互斥量的使用

互斥量的一般使用 xSemaphoreCreateMutex。

2022-11-08 02:08:29 127

原创 互斥量的理论

什么是递归上锁 增加了递归的功能,第二次上锁的时候不会进入阻塞状态。如果不用递归锁,就会变成死锁 第二次上锁的时候会进入阻塞状态。优先级反转现象 解决方法是优先级继承。能解决递归上锁/解锁的问题。能解决优先级反转的问题。跟二进制信号量的对比。

2022-11-08 01:24:42 72

原创 信号量的理论

信号量和 队列的对比 信号量的分类:计数型信号量,二进制信号量信号量的计数值都有限制:限定了最大值。如果最大值被限定为1,那么它就是二进制信号量;如果最 大值不是1,它就是计数型信号量使用信号量之前,要先创建,得到一个句柄;使用信号量时,要使用句柄来表明使用哪个信号量。 对于二进制信号量、计数型信号量,它们的创建函数不一样:xSemaphoreCreateBinary xSemaphoreCreateCounting创建计数型型号量 static SemaphoreHandle_t xSemC

2022-11-08 00:59:18 151

原创 队列的应用

队列(queue)可以用于"任务到任务"、"任务到中断"、"中断到任务"直接传输信息。队列中消息如何保存 怎么向队列发送数据、怎么从队列读取数据、怎么覆盖队列的数据。本章涉及如下内容: 怎么创建、清除、删除队列。读写队列时如何影响任务的优先级。在队列上阻塞是什么意思。怎么在多个队列上阻塞。

2022-11-08 00:09:20 124

原创 Keil5进行STM32F103C8T6的软件仿真

设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;Keil有很强大的软件仿真功能,通过软件仿真可以发现很多将要出现的问题,Keil的仿真可以查看很多硬件相关的寄存器,通过观察这些寄存器值的变化可以知道代码有没有正常运行。输入你想要查看的引脚,我这里用的是PB0,所以需要输入PORTB.0(格式为PORTX.X),如果显示没有发现,那么说明是前面的debug配置有错误,需要和你使用的STM32的型号一致。开始仿真,这个时候会多出来一个工具条,就是Debug工具条。

2022-11-04 15:53:42 6299 1

原创 SSD1306显示

功能描述:连续发送N个写入显存的数据:开始信号->设备地址->控制字节->N个GDRAM数据->停止信号。* 功能描述:连续发送N个写入显存的数据:开始信号->设备地址->控制字节->N个GDRAM数据->停止信号。* 功能描述:I2C发送命令给OLED:开始信号->设备地址->控制字节->GDRAM数据->停止信号。* 功能描述:I2C发送命令给OLED:开始信号->设备地址->控制字节->命令数据->停止信号。

2022-11-03 17:29:11 782

原创 调试绝招—断点

总结,当函数发生异常时。找到函数的起始地址,查看当前寄存器的值,对着 汇编文件看,先要启动这个函数才能定义未定义指令的异常。未定义异常错误函数 在汇编里面。传入的参数为0,参数被破坏了。对于一些莫名奇妙的错误。函数,替换为一下类容。

2022-10-31 11:22:31 26527

原创 调试绝招—栈回溯

* context + 16*4 结构体类型指针加1,相当于加了整个结构体 */找到汇编里面的 HardFault_Handler 函数,注销原来的代码,添加一下代码。然后在stm32xx_it.c中包覆盖HardFault_Handler这个函数。串口打印找到PC寄存器的地址 查看反汇编。保存在哪儿 栈。

2022-10-31 11:10:28 814

原创 环形缓冲区和printf中断重定向

/ 发送完成标志,1完成0未完成。if(huart->Instance == USART1) // 判断进来的是否是USART1这个UART设备。if(huart->Instance == USART1) // 判断进来的是否是USART1这个UART设备。

2022-10-27 15:46:34 220

原创 按键外部中断

if(KEY1_PIN == GPIO_Pin) // 判断进来的外部中断线连接的引脚是不是按键的引脚。* 功能描述:按键的GPIO重新初始化为双边沿触发外部中断。* 函数名:HAL_GPIO_EXTI_Callback。* 函数名:KEY_GPIO_ReInit。* 函数名:KEY_GPIO_ReInit。

2022-10-27 11:32:30 256

原创 I2C协议和实现代码

data 在SCL的高电平下,SDA的电平由高到低变化。* 功能描述:模拟发出I2C的停止信号-->在SCL的高电平下,SDA的电平由低到高变化。

2022-10-27 09:39:54 442

原创 百问网7天物联网智能家居(第七天)

主讲内容:代码调试,总结七天所讲的内容;所讲的重要代码(框架)Key_Update_WIFI((char *)wifi_data, 500); USART_StartRx(); //启动开始接收数据 //USART2_Transmit(tx_data, sizeof(tx_data), 500); //向模块发送数据 ESP8266_SendCommand("AT+RST", "OK", 500); HAL_Delay(800); ESP8266_SendCommand(...

2022-03-02 22:08:19 5364

原创 百问网7天物联网智能家居(第六天)

主讲内容:程序框架重要代码:static uint8_t rx_data = 0; //接收的字符static uint8_t rx_len = 0; //接收的长度static uint8_t usart_rx_buf[200] = {0};//保存接收的数据//调用HAL库接收函数,等待接收数据void USART_StartRx(void){ HAL_UART_Receive_IT(&huart2, (uint8_t...

2022-03-02 10:22:21 5109

原创 百问网7天物联网智能家居(第五天)

主讲内容:AT指令、ESP8266WiFi模块、网络基础。什么是AT指令:AT指令集或AT命令集,一般称其为AT指令AT指令的注意事项:AT 指令必须大写并且以回车换行符结尾(CR LF)默认波特率为 115200CR(Carriage Return)表示回车LF(Line Feed)表示换行Dos和Windows采用回车+换行(CR+LF)表示下一行而UNIX/Linux采用换行符(LF)表示下一行MAC OS系统采用回车符(CR)表示下一行Windows下编..

2022-02-27 21:38:16 1144

原创 百问网7天物联网智能家居(第四天)

主要讲的内容:中断系统、按键、串口通信中断是什么:指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。中断也是属于一种异常。STM32中断处理 STM32有众多异常和中断,其中内部中断源(USART、ADC等)直接由NVIC处理。GPIO引脚可以产生外部中断或事件,如是中断则交由NVIC处理,如果是事件则产生脉冲信号联动其它模块工作。 无论是内部中断源,还是GPIO产生的中断,都...

2022-02-27 21:09:32 1191

原创 百问网7天物联网智能家居(第三天)

主要讲解:单片机时钟树,STM32CubeMX配置时钟、STM32的GPIO输出模式、输入模式。STM32时钟树:STM32F103有4个时钟分别是:HSI高速内部时钟,HSE高速外部时钟,LSI低俗内部时钟,LSE低俗外部时钟。STM32的GPIO输入模式:上拉输入、下拉输入、浮空输入、模拟输入。 上下拉输入就是控制2个上下拉开关,当设置为上拉输入时,内部上拉开关,开启如果外部有个低电平则,IO原本读到的是高电平转为低电平 浮空输入是2个开关都断开,此时...

2022-02-27 20:53:34 1318

原创 百问网7天物联网智能家居(第二天)

第二天,主要是讲解 stm32结构、开发模式、创建工程。1.如何看懂原理图以100ASK_STM32F103_MINI的原理图为例,介绍如何看原理图,读者只需要掌握几个要点,就能基本理解原理图的标识含义。100ASK_STM32F103_MINI原理图在“4_硬件资料”文件夹里,读者打开《100ASK_STM32F103_MINI原理图.pdf》(后简称,《原理图》)配合本手册阅读。 《原理图》由开发板最小系统,加上外设模块和一些接口组成。在原理图上,除了用连线表示两个器件有连接外,更多的时候使用网

2022-02-27 20:26:04 1052

原创 百问网7天物联网智能家居(第一天)

前言年少时对电子方向时没有太多的了解,自从大学毕业完,工作时接触到了常见的一些产品,在一家产品设计公司工作,发现周围有很多喜欢完电子的爱好者,不知不觉自己也迷恋上了,自己目前还是一个新手,在接下来的几天里,将会一步一步跟着老师的步伐学习;自己没有太多的经验,所以只跟着上午的基础班,嵌入式运用的领域,什么是嵌入式。本人差不多还在入门期阶段,会一直坚持跟着百问网走下去的。什么是AMR架构,AMR公司是一家设计处理器架构的公司。采用ARM公司提供方案设计的处理器芯片统称..

2022-02-27 20:07:53 1194

空空如也

空空如也

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

TA关注的人

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