
单片机
文章平均质量分 53
花椒且喵酱
文章变VIP免费请告知我
展开
-
QN8027 IIC 模拟接口C语言
IIC模拟IO实现QN8027接口代码C语言实现原创 2022-07-24 15:15:23 · 882 阅读 · 0 评论 -
SD卡读写及FATFS(R0.14版本)文件系统测试总结
SD卡学习路径原创 2022-07-17 20:21:11 · 2049 阅读 · 0 评论 -
HAL库 定义typedef
由于生成的工程不能很好适用移植的文件,在main.h中添加如下代码再调用即可typedef int32_t s32;typedef int16_t s16;typedef int8_t s8;typedef const int32_t sc32; typedef const int16_t sc16; typedef const int8_t sc8; typedef __IO int32_t vs32;typedef __IO int16_t vs16;typedef原创 2022-05-20 17:55:01 · 402 阅读 · 0 评论 -
ARM CortexM0 SysTick定时器详解
参考资料《ARM Cortex-M0权威指南》SysTick为24位的定时器,并且向下计数。定时器的计数减至0后,就会重新装载一个可编程的数值,并且同时产生SysTick异常(异常编号为15)只要不把它在 SysTick控制及状态寄存器中的使能位清除,就永不停息。SysTick由四个寄存器控制校准寄存器在cmsdk_mcu_stclkctrl.v中即CM0内核中有如下定义再来看看顶层可以看到输入的时钟为FCLK自由运行时钟SKEW 没有用到 这与MCU的设计有关本次设计我们将系统时原创 2022-03-19 23:06:46 · 2407 阅读 · 1 评论 -
MDK Flash算法配置(1)
Flash烧录算法定义了擦除和烧写闪存设备的函数在选择Flash时我们可以看到如下的设备选择了器件后如(ST)后还能看到片内flash那么如何去编写一个新的flash算法设置的步骤大致分为4点1.修改FlashPrg文件中的编程算法。2.修改FlashDev文件中的设备参数。3.使用Build 生成新的Flash编程算法。4.将输出文件(例如MyDevice.FLM)添加到DFP中。以下为初始配置打开MDK/ARM/Flash找到Template文件夹复制到另外的空间并添加Flas原创 2022-03-15 20:53:29 · 922 阅读 · 0 评论 -
FPGA(主机)STM32(从机)SPI通信(HAL库实现)
github已开源原创 2021-08-26 21:23:39 · 6605 阅读 · 14 评论 -
HAL库 stm32 输入捕获 关于 计数器溢出 的处理
师傅领进门修行靠个人至于如何配置HAL库的输入捕获,去看大佬的文章链接: 【STM32】HAL库 STM32CubeMX教程八—定时器输入捕获.为了更准确的测试捕获时间,我将捕获的端口设在了按键上。这篇文章中使用的定时器为32位的,处理的时间位 1/1M 即1us2^32*1us≈4295s所以我觉得就没有必要考虑溢出的问题但是我们肯定不止会遇到这种情况我所使用的位16位的计数器,一下子就会溢出,导致时间不对。其实我们只需要在利用这个定时器中断就行,只要在捕获的过程中溢出一次,系数就+1原创 2021-08-20 21:20:02 · 3871 阅读 · 0 评论 -
FPGA 中 波特率及如何实现串口传输
关于串口传输,首先得清楚波特率波特率:每秒传输的字节数 * 一个字节的位数设波特率为115200,数据位数为8位,但是我们还需要考虑,校验位(一般设NONE)、起始位和终止位,所以为10位。那么字节数就为 11520一般来说,字母和数字都为一个字节,汉字位两个字节。假设我们要传输 “stm32” 这个字符,那么就是从左到右一个字节一个字节传输那假设我们要传输"88888"这一串数字呢?8位即2^8=256 位数不够怎么办。这想的不对传输数字10时10的“16进制”这下懂了吧,把原创 2021-08-19 21:38:21 · 1130 阅读 · 1 评论