- 博客(9)
- 收藏
- 关注
原创 FreeRTOS判断当前上下文是中断上下文还是线程上下文
那么可以确定应该是跟这个有关系的,static和inline的单独使用的方法就不多说了,网上搜索找到有文章解释了static inline在头文件中的使用,大概意思是,在头文件中定义static inline函数,源文件包含了这个头文件,在编译时会把源文件中调用的xPortIsInsideInterrupt()函数替换为头文件中这段代码,并且不会出现重定义的编译告警,如果不加static修饰,只有inline的话,多个源文件包含这个头文件时会出现重定义。自己使用的第二个接口,完美解决问题。
2024-05-07 17:16:26
490
原创 Brian Kernighan算法/“位清零”算法
其中countBits函数是该算法的实现。很巧妙,将一个数(num),和这个数减1(num-1),进行按位与操作,可以清零这个数(num)最低位的1。这样的算法只做了位移和按位与操作,看起来还好,然而转念一想,无论我们计算一个多大的数,都需要进行32次右移和按位与操作,对于一些bit位为1比较多的数还好,但是对于一些bit位为1比较少的数字也要执行这么多操作,看起来不太爽。偶然看到一道求32位整形数bit位为1的个数,第一时间想到的是把这个32位数通过循环右移和1进行按位与操作,统计个数。
2024-04-30 16:23:22
235
1
原创 keil GD32编译过程中出现“No space in execution regions with .ANY selector matching”问题
keil编译失败
2022-09-01 17:26:39
719
原创 C语言位域引起的字节对齐问题
偶然的一个bug,掉进了前人挖的坑,爬上来记下来。修改前的类型定义:typedef struct{ union { uint32_t value1; struct { …… }; }; union { uint32_t value2; struct { uint8_t reserved1 : 2; ...
2022-05-06 19:30:20
922
原创 windows使用pscp传文件到linux
记录一下windows使用pscp传文件到linux的方法。需求:将一个20G的文件从windows电脑上传到另外一台linux电脑。实现:windows cmd命令:pscp windows_file linux_user@linux_ip:/linux_dir执行完命令,会有提示输入linux系统登陆密码。输入密码后,即可建立连接传输文件了。参数说明:windows_file:windows系统需要传输的文件名linux_user:linux系统的用户名linux
2021-10-14 11:27:18
241
原创 ubuntu16.04 rtl8821ce无线网卡wifi频繁掉线问题解决
系统:frank@frank:~$ uname -aLinux frank 4.15.0-142-generic #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux刚买了电脑,连网卡都没注意什么型号,直接格式化装上ubuntu,公司都是用无线上网,结果装完系统后发现没有无线网卡驱动,不能无线上网,然后查了一下驱动型号。网卡型号:frank@frank:~$ lspci | g
2021-10-13 20:31:51
4353
原创 Ubuntu16.04 Intel核显分辨率修改
HP小型台式机,显卡为Intel核显,具体型号在windows下也没注意看,安装完ubuntu系统后,也没查看出来显卡具体型号,按照网上的方法,安装intel的显卡驱动,折腾了好久都没装好。后来在网上看到修改分辨率的方法,但是使用xrandr命令修改分辨率时提示下面错误:xrandr: Failed to get size of gamma for output default在网上继续搜索,找到了一个修改grub的方式,抱着死马当作活马医的态度,试了一下,重启有错误提示,但是分辨率改过来了,先凑.
2021-09-23 10:49:21
1099
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人