我云的博客
码龄9年
关注
提问 私信
  • 博客:169,608
    169,608
    总访问量
  • 18
    原创
  • 390,860
    排名
  • 57
    粉丝
  • 0
    铁粉

个人简介:云里看雾,雾却不是雾

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2015-10-08
博客简介:

我云的博客

博客描述:
云里观雾,雾却非雾
查看详细资料
个人成就
  • 获得165次点赞
  • 内容获得22次评论
  • 获得676次收藏
  • 代码片获得115次分享
创作历程
  • 1篇
    2022年
  • 8篇
    2019年
  • 25篇
    2018年
  • 4篇
    2017年
成就勋章
TA的专栏
  • 多线程编程
    7篇
  • STM32学习,WIFI模块
    1篇
  • STM32小白进阶之路
    2篇
  • 其他
    1篇
  • Linux C
    3篇
  • C/C++
    8篇
  • 操作系统
    2篇
  • 数据结构与算法
    1篇
  • 嵌入式C
    4篇
  • make
    1篇
兴趣领域 设置
  • 嵌入式
    单片机嵌入式硬件
  • 硬件开发
    射频工程硬件架构
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Segger RTT深度使用说明-移植-Jlink rtt viewer显示-输出到Secure CRT

RTT( Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都支持RTT。RTT既可以从MCU上输出信息、也可以向应用程序发送信息,由于其高速的特性,所以不影响MCU的实时性。使用RTT可以从MCU非常快速输出调试信息和数据,且不影响MCU实时性。这个功能可以用于很多支持J-Link的设备和MCU,兼容性强。RTT支持两个方向的多个通道,上到主机,下到目标,它可以用于不同的目的,为用户提供尽可能多的自由。
原创
发布博客 2022.12.01 ·
3499 阅读 ·
6 点赞 ·
1 评论 ·
26 收藏

一篇看完弄清大端小端问题

一、大端模式和小端模式的起源        关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,...
转载
发布博客 2019.03.27 ·
485 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

IIC时序

AT24C02是由ATMEL公司提供的,IIC总线串行EEPROM(electronic eraser programmer read only memory),其容量为2kbit(256B),工作电压在2.7v"5.5v之间,生产工艺是CMOS。    一般数字芯片都在左下角和右上角为GND,VCC。容量的计算方法:AT24Cxx :01"1024&nbs...
转载
发布博客 2019.03.19 ·
598 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

硬件IIC和软件IIC区别

原文地址:https://blog.csdn.net/Derricker406/article/details/77171223所谓硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的;软件I2C一般是用GPIO管脚,用软件控制管脚状态以模拟I2C通信波形。硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活。模拟I2C 是通过...
转载
发布博客 2019.03.19 ·
18450 阅读 ·
21 点赞 ·
0 评论 ·
58 收藏

IIC详解

IIC详解 1、I2C总线具有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL   2、IIC总线上可以挂很多设备:多个主设备,多个从设备(外围 设备)。上图中主设备是两个单片机,剩下的都是从设备。  3、多主机会产生总线裁决问题。当多个主机同时想占用总线时,企图启动总线传输数据,就...
转载
发布博客 2019.03.19 ·
7877 阅读 ·
11 点赞 ·
1 评论 ·
74 收藏

关于STM32单片机GPIO口上拉与下拉输入

      以前GPIO上接的电路都是低电平触发的那种,新画了个板子有一个按键设计的是高电平触发,结果IO口设置成上拉输入后,怎么读都不正确,按键电路如图1。无奈只能去调试一下,发现当设置为上拉输入后,其ODR(GPIO输出数据寄存器)相应的也置为1,百思不得其解。图1 按键电路     于是去看一下GPIO的结构图:I/O引脚...
转载
发布博客 2019.03.19 ·
15312 阅读 ·
8 点赞 ·
4 评论 ·
23 收藏

stm32从A程序跳转到B程序的做法

1、Cortex-M3程序结构的问题。2、了解Cortex-M3启动流程。3、Cortex-M3中断向量表问题。4、用Flash写函数来烧写程序,烧写的应该是bin文件而不是hex文件。直接跟你说最快最直接解决方法(我的IAR开发环境下的修改,不知道你是用Keil开发还是IAR开发,这里会有些区别):1、先在B程序代码中修改中断向量表,修改方法,在main函数开始调用NVIC_SetVe...
原创
发布博客 2019.02.26 ·
4768 阅读 ·
4 点赞 ·
1 评论 ·
25 收藏

STM32 Bootloader程序中Jump2App函数分析

Jump2App函数代码#define __IO volatile /*!< defines 'read / write' permissions */#define ApplicationAddress 0x8003000pFunction Jump_To_Application;uint32_t JumpAddress;...
原创
发布博客 2019.02.25 ·
11760 阅读 ·
27 点赞 ·
4 评论 ·
105 收藏

智能家居与人工智能

一天忙碌的工作下班后,你来到家门口,指纹/人脸识别开门,房间自动亮起一室温暖明亮的光,放下公文包,自然而然的走向冰箱,拿出一瓶饮料,一边想着如何为家人制作一桌美味的晚餐,对着冰箱说“晚餐”,冰箱屏幕上会为你推荐晚餐套餐,你可以选择你喜欢的晚餐组合,遇到你不会做的菜,可以看着冰箱屏幕的烹饪教学进行做饭。智能家居概念图不少人可能会觉得我说的这些不是电影场景么?过去,这些场景只能发生在科幻电影中。如今,...
转载
发布博客 2019.01.16 ·
17064 阅读 ·
18 点赞 ·
0 评论 ·
136 收藏

“阻塞”与"非阻塞"与"同步"与“异步"

 本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2015-07/120338.htm “阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous comm...
转载
发布博客 2018.12.29 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C语言复习笔记(3)——volatile

volatile的解释:禁止优化对,对于volatile的解释,我认为只需要四个字——“禁止优化”。在单个线程内,volatile的访问不会被编译器优化掉,将会直接通过其内存地址访问,确保得到的值是“最即时”的值。关于使用的几个注意点1.C 类型系统中每一个独立的类型都有数个该类型的限定版本(不同限定版本的类型可以认为是不同的类型),对应volatile,const及指正的restrict限...
原创
发布博客 2018.12.20 ·
305 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

C语言复习笔记(2)——运算符优先级

C 运算符优先级下表列出 C 运算符的优先级和结合性。运算符从顶到底以降序列出。优先级运算符描述结合性1++ --后缀自增与自减从左到右()函数调用[]数组下标.结构体与联合体成员访问->结构体与联合体成员通过指针访问(type){list}复合字面量(C99)2
转载
发布博客 2018.12.20 ·
989 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

C语言复习笔记(1)——结构体

结构体结构体声明结构体是一种由一序列的成员组成的类型,成员的存储以顺序分配于内存中(与联合体相反,联合体是由一个序列的成员组成的类型,成员存储在内存中重叠)。结构体的类型指定符与联合体( union )类型指定符相同,只是所用的关键词有别。语法struct name(可选) { struct-declaration-list } (1)struct name (2)结构体定义:引...
原创
发布博客 2018.12.20 ·
300 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

多线程编程——屏障

屏障是多线程同步的一种方法。barrier意为屏障或者栏杆,把先后到达的多个线程挡在同一栏杆前,直到所有线程到齐,然后撤下栏杆同时放行。先到达的线程将会阻塞,等到所有调用pthread_barrier_wait()函数的线程(数量等于屏障初始化时指定的count)都到达后,这些线程才会由阻塞状态进入就绪状态再次参与系统调度。屏障是基于条件变量和互斥锁实现的。主要操作包括:调用pthread_ba...
原创
发布博客 2018.12.12 ·
1353 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

多线程编程——读写锁

一、什么是读写锁读写锁(也叫共享-独占锁)实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的逻辑CPU数。写者是排他性的,一个读写锁同时只能有一个写者或多个读者(与CPU数相关),但不能同时既有读者又有写...
原创
发布博客 2018.12.12 ·
258 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

多线程编程——条件变量

#include <pthread.h>#include <stdlib.h>#include <unistd.h>#include <stdio.h>/* 静态方式初始化一个互斥锁和一个条件变量 */static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
原创
发布博客 2018.12.11 ·
238 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

多线程编程——互斥量

#include <pthread.h>#include <unistd.h>#include <stdio.h>/* 线程控制块 */static pthread_t tid1;static pthread_t tid2;/* 函数返回值检查 */static void check_result(char* str,int result){
原创
发布博客 2018.12.11 ·
526 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

多线程编程——线程连接join

#include <pthread.h>#include <unistd.h>#include <stdio.h>/* 线程控制块 */static pthread_t tid1;static pthread_t tid2;/* 函数返回值检查 */static void check_result(char* str,int result){ ...
原创
发布博客 2018.12.11 ·
280 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

多线程编程——线程分离状态之detached

#include <pthread.h>#include <unistd.h>#include <stdio.h>/* 线程控制块 */static pthread_t tid1;static pthread_t tid2;/* 函数返回值检查 */static void check_result(char* str,int result){ ...
原创
发布博客 2018.12.11 ·
739 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

多线程编程——线程分离状态之detached

#include <pthread.h>#include <unistd.h>#include <stdio.h>/* 线程控制块 */static pthread_t tid1;static pthread_t tid2;/* 函数返回值检查 */static void check_result(char* str,int result){ ...
原创
发布博客 2018.12.11 ·
739 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多