加载中
rtthread使用总结

RT-Thread 中,实际上线程并不存在运行状态,就绪状态和运行状态是等同的。 若某线程运行完毕,系统将自动删除线程:自动执行 rt_thread_exit() 函数,先将该线程从系统就绪队列中删除,再将...

10/16 10:17
0
iar 进入main之前操作

最近要在Cortex-M3上写一个简单的操作系统,打算使用IAR,为了写好启动代码,花了一些时间了解了IAR在main()以前做了些什么事。 首先系统复位时,Cortex-M3从代码区偏移0x0000'0000处获取栈顶...

10/15 13:51
0
intptr_t

intptr_t 的定义: /* Types for `void *' pointers. */ #if __WORDSIZE == 64 # ifndef __intptr_t_defined typedef long int intptr_t; # define __intptr_t_defined # endif typedef uns...

10/14 10:25
0
开关总中断PRIMASK

名 字 功能描述 PRIMASK 只有单一比特的寄存器。置为1后,就关掉所有可屏蔽异常,只剩下NMI和硬Fault可以响应。默认值是0,表示没有关闭中断。 FAULTMASK 只有单一比特的寄存器。置为1后,只...

07/10 11:34
160
IIC协议说明

IIC总线上往往挂了很多设备,每个设备的频率可能都不一样。 IIC协议格式 为: START+deviceaddr&r/w+ack+data+END 其中start为SCL高电频个,SDA由高到低。然后deviceaddr<<7&rw,总共一个字节...

amp
06/04 10:18
37
linux 程序执行流程

进程的创建 Linux中创建进程与其他系统有个主要区别,Linux中创建进程分2步:fork()和exec()。 fork: 通过拷贝当前进程创建一个子进程 exec: 读取可执行文件,将其载入到内存中运行 创建的流...

06/02 13:28
66
平衡二叉树

#include<stdio.h> #include<stdlib.h> typedef struct Node { int key; /*序号,用来排序使用*/ struct Node *left; /*左节点*/ struct Node *right; /*右节点*/ int height; /......

amp
05/29 17:39
35
STM32 代码堆栈大小分析

1.RO段包括只读代码段(code段/.text段)和常量段(RO Data段/.constdata段)。 2.RW段(.data段)指已被初始化成非0值的变量段。 3. ZI段(.bss段)指未被初始化或初始化为0的变量段。 一直以来对...

03/12 14:53
272
关于CAN-FD传输速率设定的分析

CAN-FD:英文为CAN with Flexible Data-Rate,翻译为【可变速率的CAN】 BRS(Bit Rate Switch)位速率转换开关,当BRS为显性位时数据段的位速率与仲裁段的位速率一致,当BRS为隐性位时数据段的...

03/10 15:15
2.4K
关于STM32H743 由Y版本提升到V版本flash无法写入的思考

一.问题说明 1.2020年之前用的是Y版本的芯片,2020年之后都变成了V版本的芯片,拿过来之后用boot升级发现升级之后的固件无法运行,通过jflash把固件内存区的数据读出来发现一部分的内存区是F...

03/06 11:33
3K
一.时间复杂度和空间复杂度

时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。 空间复杂度:评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。 大O表示法O(f(n))中的f(n)的值...

03/02 10:02
102
数组名和数组名取地址的区别

以下代码会打印出什么样的日志呢? #include <stdio.h> int a[2] = {1,2}; int main(){ printf("a = %p\n", a); // I printf("&a = %p\n", &a); // II printf("a + 1 = %p\n", a + 1);// III...

02/27 11:29
183
STM32H7 CAN1和CAN2同时使用配置说明

STM32H7是一款相对来说比较新的MCU,很多例程上面都是只给了一个can口的例子,对于两个can口同时使用没有明确的说明。本文主要针对同时使用CAN1 CAN2 做一个教学。 1.对于CAN口配置分为以下几...

01/09 20:11
2.7K
UCOSII 任务调度笔记

ucosii是根据优先级进行调度的。对于任务,两种状态,就绪态和非就绪态,很多种情况下任务都会处于非就绪态,如:信号量,消息队列,邮箱,延迟,任务的挂起,调度锁等都会使程序进入非就绪态...

2019/10/15 19:48
138
STM32 局部变量压住全局变量地址 原因分析

在做项目的时候,遇到一个情况,我是用的是ucosii系统,从OSTime获取时间,可是OSTime总是莫名其妙突变,比如1,2,3,939528300觉得很奇怪,怎么会突然突变呢。后来在调试模式下排查发现以下...

2019/07/27 13:03
2.4K
UCOSII消息队列使用说明

现在来说一下这个消息队列所传递的数据类型和特性。 首先,这个消息队列不是真正意义上的“队列”,它呢只会把每次存入的数据指针排队,而不会保存该数据。所以调用OSQPost时如果每次都是相同...

2019/07/23 13:52
3.8K
STM32 USART串口DMA 接收和发送流程详解

https://blog.csdn.net/weibo1230123/article/details/80506484 1.dma发送流程 1.配置DMA发送中断 - NVIC_Init 2.配置串口中断 - NVIC_Init 3.GPIO配置 - GPIO_Init 4.DMA发送配置 -DMA_Ini...

2019/07/16 22:55
602
使用安富莱harldfault调试方法总结

https://blog.csdn.net/zhzht19861011/article/details/8645661 在编写STM32程序代码时由于自己的粗心会发现有时候程序跑着跑着就进入了 HardFault_Handler中断,按照经验来说进入HardFault...

2019/07/04 16:11
512
采用正则表达式,从行尾获取你想要的字符串

问题: /mnt/aapp/dfadf/GJD234.DAT 获取字符串GJD234.DAT 思路: 获取从尾部倒叙到第一个/之前的字符串。 结果:(?<=/)[^/]+$ 用到四个部分: (?<= pattern): 反向肯定预查。如(?<...

Dat
2019/06/14 15:34
72

没有更多内容

加载失败,请刷新页面

返回顶部
顶部