随笔分类 -  STM32外设篇

摘要:使用dma情况下,连续写两次HAL_UART_Transmit_DMA,会出现发不出的问题 //等待上一次的数据发送完毕 while(HAL_DMA_GetState(&hdma_usart1_tx) == HAL_DMA_STATE_BUSY) osDelay(1); 阅读全文
posted @ 2024-11-29 15:45 njit-sam 阅读(172) 评论(0) 推荐(0)
摘要:PWM通过RC低通滤波器模拟DAC - 花形 - 博客园 阅读全文
posted @ 2024-11-07 09:09 njit-sam 阅读(39) 评论(0) 推荐(0)
摘要:在带负载0~800Ω左右,电流并不会发生偏差 使用注意事项有些时候LM358内部的运放不一定都使用到在使用画PCB和原理图的时候要注意输入端不能直接接地,否则芯片会发烫。并且给出TI的LM358部分说明以及未使用时的处理方法。 阅读全文
posted @ 2024-11-06 16:08 njit-sam 阅读(716) 评论(0) 推荐(0)
摘要:我们在配置usart1时,如果直接配置,那么引脚默认是配置到PA9 PA10上去的 那么如何重映射到PB6 PB7上呢,这里需要注意一个顺序的问题 首先配置,PB6 PB7为串口功能,其次再配置USART1,这个时候串口就不会配置PA9 PA10 生成的usart.c中,也会多一行代码 __HAL_ 阅读全文
posted @ 2024-03-28 15:16 njit-sam 阅读(222) 评论(0) 推荐(0)
摘要:CubeMx版本: volatile uint8_t recv_end_flag=0; volatile uint32_t rx_len =0; volatile uint32_t rx_len2 =0; uint8_t rx_buffer[BUFFER_SIZE]={0}; uint8_t rx_ 阅读全文
posted @ 2024-03-27 10:21 njit-sam 阅读(110) 评论(0) 推荐(0)
摘要:原文链接:https://blog.csdn.net/llq_the7/article/details/108649569 这篇博客的细思还是有缺点,先给出自己的方案。 仅针对大数据量,其余没有必要使用dma。 1. 解决不定长数据的处理,还是开启dma,并使用空闲中断。 在下面的中断函数里面 vo 阅读全文
posted @ 2024-03-26 11:23 njit-sam 阅读(303) 评论(0) 推荐(0)
摘要:74HC/HCT595是高速硅门CMOS器件,与低功率肖特基TTL(LSTTL)兼容。它们符合JEDEC标准第7A。 74HC/HCT595是一个带有存储寄存器和三态输出的8级串行移位寄存器。移位寄存器和存储寄存器有单独的时钟。 数据在SH_CP输入的正跳变上进行移位。每个寄存器中的数据在ST_CP 阅读全文
posted @ 2024-02-19 16:05 njit-sam 阅读(128) 评论(0) 推荐(0)
摘要:HC165和HCT165是带有互补串行输出的8位并行或串行输入移位寄存器。当并行加载PL输入为LOW时,来自D0到D7输入的并行数据会异步加载到寄存器中。当PL为HIGH时,数据会从DS输入串行输入到寄存器,并且CP每个上升沿时向右移动一个位置(Q0→Q1→Q2等)。这个特性通过将Q7输出连接到下一 阅读全文
posted @ 2024-02-19 16:03 njit-sam 阅读(145) 评论(0) 推荐(0)
摘要:这篇需做前期工作:https://www.cnblogs.com/njit-sam/p/17699205.html LVGL官方主页:https://lvgl.io/ 当你想快速上手时,点击这个:https://docs.lvgl.io/master/get-started/quick-overvi 阅读全文
posted @ 2023-09-13 12:06 njit-sam 阅读(1045) 评论(0) 推荐(0)
摘要:本次不涉及讲解,直接上源码 https://gitee.com/njit-sam/stm32-spi-st7789-lcd 里面包含原软件模拟spi程序以及资料,这些由品目厂商提供 阅读全文
posted @ 2023-09-13 11:45 njit-sam 阅读(629) 评论(0) 推荐(0)
摘要:我一直觉得,能把stm32定时器理解的明白并能用得好,那stm32几乎就掌握一半了。 但是stm32定时器功能如此强大,知识点如此烦杂,api如此繁多,想用的好并不是一件易事。 下面就将好好分类来说,尽量做到好理解,并辅以实验和源代码来说明。 配合这篇博主的博文食用效果更佳:https://blog 阅读全文
posted @ 2023-09-12 09:06 njit-sam 阅读(157) 评论(0) 推荐(0)
摘要:STM32有哪几种下载的程序的方式:ISP、ICP、IAP IAP和OTA的区别:https://blog.csdn.net/xue_nuo/article/details/128217126 IAP升级的策略:https://zhuanlan.zhihu.com/p/583161271 阅读全文
posted @ 2023-09-07 15:09 njit-sam 阅读(73) 评论(0) 推荐(0)
摘要:按键程序更改回调函数,即可支持多平台,只是因为在STM32平台下测试,索性就归为这个分类下。 很多人都写出了优秀的按键代码,但是有很多写的有点烦杂,这个看起来写的很不错,可以学习一下: https://github.com/mathertel/OneButton/tree/master 源码是ard 阅读全文
posted @ 2023-09-06 13:47 njit-sam 阅读(689) 评论(2) 推荐(0)
摘要:为了提高OLED显示多级菜单的易用性,手搓了基于链表的多级菜单的代码。 主要有如下特点: 1:需要配置地方少,后续新加菜单只需在初始化的时候添加,以及自己实现按键事件的回调函数即可。 2:事件驱动,按键事件通过队列接收。 因此,整个过程中,重写按键程序,消息队列,以及多级菜单框架。 复习下双向链表: 阅读全文
posted @ 2023-09-01 17:49 njit-sam 阅读(2713) 评论(1) 推荐(0)
摘要:HAL库版本: 使用这个版本库的时候,加入了如下代码,实现串口重定向: 1 int fputc(int ch,FILE *f) 2 { 3 HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 1000); 4 return ch; 5 } 6 7 8 /* 串口 阅读全文
posted @ 2023-08-31 09:53 njit-sam 阅读(497) 评论(0) 推荐(0)
摘要:SPI介绍:https://blog.csdn.net/zhuxinmingde/article/details/131995854 模拟单总线:https://blog.51cto.com/u_15077545/4116403 cubemx代码:https://gitee.com/njit-sam 阅读全文
posted @ 2023-08-28 16:50 njit-sam 阅读(157) 评论(0) 推荐(0)
摘要:芯片型号:stm32f103zet6;hal固件库版本:V1.8.5 移植过程主要参考这篇博客:https://www.cnblogs.com/frozencandles/p/16358483.html 但是涉及到下面两个函数的时候: 1 uint8_t u8x8_gpio_and_delay_hw 阅读全文
posted @ 2023-08-28 10:27 njit-sam 阅读(687) 评论(0) 推荐(0)