摘要: 代码来自RThread中的rtservice.h文件 rt_inline void rt_list_init(rt_list_t *l) { l->next = l->prev = l;} /** * @brief insert a node after a list * * @param l li 阅读全文
posted @ 2024-03-17 21:44 北溟有渔 阅读(2) 评论(0) 推荐(0) 编辑
摘要: RAW TCP接口tcp_input()函数 void tcp_input(struct pbuf *p, struct netif *inp) >static err_t tcp_process(struct tcp_pcb *pcb) >static void tcp_receive(struc 阅读全文
posted @ 2024-02-29 23:06 北溟有渔 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 注:具体参考文档《FreeRTOS实时内核使用指南-中文.PDF》 3.2 延迟中断处理 二值信号量可以在某个特殊的中断发生时,让任务解除阻塞,相当于让任务与中断 同步。这样就可以让中断事件处理量大的工作在同步任务中完成,中断服务例程(ISR) 中只是快速处理少部份工作。如此,中断处理可以说是被”推 阅读全文
posted @ 2024-02-29 22:51 北溟有渔 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 在一个结构体或联合体中,编译器会根据具体成员变量的类型选择边界对齐字节,其选择依据是处理器的ABI规范。 c语言处了对结构体或联合体内的变量进行对齐处理外(从结构体内部),还需要将整个数据结构分配在以4字节为边界的地方才有意义。 结构体成员变量对齐规则有三条(参考来自网上)https://blog. 阅读全文
posted @ 2023-12-31 19:21 北溟有渔 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 队列 二值信号量 (通常用于互斥访问和任务同步互斥,与互斥信号量类似但二值信号量有可能会导致任务优先级翻转的问题所以二值信号量更适合与任务同步)。 例1:信号量互斥操作 若用于互斥,几个进程(或线程)往往只设置一个信号量 sem,它们的操作流程如下图2-1: 例2:信号量同步操作 当信号量用于同步操 阅读全文
posted @ 2023-12-15 14:07 北溟有渔 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 1.栈区(stack): 主要用于存储函数的参数和局部变量。栈区由系统进行内存管理,在函数执行完成时,系统自动释放栈区的内存, 而不需要用户的参与,整个程序的栈区的大小可以在编译器中由用户自行设定。 2.堆区 由用户手动申请,手动释放。 如果用户忘记对所申请的内存资源进行释放,该内存资源可能会在程序 阅读全文
posted @ 2020-06-28 19:39 北溟有渔 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 转载注明出处:http://www.cnblogs.com/skywang12345/p/3596746.html 摘要 1.快速排序的介绍 2.快速排序图文说明 3.快速排序的时间复杂度和稳定性 4.快速排序的实现 4.1.快速排序的C实现 4.2.快速排序的C++实现 4.3快速排序的Java实 阅读全文
posted @ 2020-06-04 22:56 北溟有渔 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 具体使用可以参考:http://rogerdudler.github.io/git-guide/index.zh.html 阅读全文
posted @ 2020-01-10 16:20 北溟有渔 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 参考博客:https://www.cnblogs.com/QG-whz/p/4513136.html const_cast是一个基于C语言编程开发的运算方法, 其主要作用是:修改类型的const或volatile属性。使用该运算方法可以返回一个指向非常量的指针(或引用)指向b1,就可以通过该指针(或 阅读全文
posted @ 2020-01-03 15:22 北溟有渔 阅读(443) 评论(0) 推荐(0) 编辑