- 博客(4)
- 收藏
- 关注
原创 使用ARDUINO UNO和无源蜂鸣器实现音乐-《两只老虎》
1、pin输出使用官方的函数tone,可以产生占空比50的方波,频率(单位Hz)可以根据需求设定,很方便。简谱中的音符和频率有对应的关系,使用宏进行标识,如下所示:2、根据两只老虎的简谱编写如下的程序:case 0: 中音,case 1: 高音,case 2: 低音。void two_tigers(int type){ byte count = 0; switch(type) { case 0: { for (count = 0; co
2022-01-09 21:04:53
4252
1
原创 c语言代码性能提升小技巧
目录1、善用位运算代替乘除运算1、善用位运算乘除运算相比加减运算需要更过的cpu时间,所以可以使用位运算进行计算优化。(1)对于一个整数m乘以2^n的情况,使用位运算m<< n。(2)对于一个整数m除以2^n的情况,使用位运算m >>n。(3)对于一个整数m对2^n求余数的情况,使用位运算m & (2^n - 1),实际使用当中,也许除数不是2的幂次方,如果想提高计算速度,可以把除数向上改成2的幂次方。其他的情况很多很多,读者可以多留心观察..
2021-10-27 16:50:37
672
原创 linux调度策略
目录1、代码1、代码#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <string.h>#include <sys/ipc.h>#include <sys/shm.h>#include <error.h>#define _GNU_SOURCE#include <pthread.h>#incl
2021-10-27 16:16:53
639
转载 LINUX学习散记
1、__thread修饰的变量__thread 标识符修饰的全局或静态变量是线程独立的,线程对该变量的操作对其它线程来说是不可见的。然而线程之间共享内存空间的,因此要达到如些效果就需要针对该变量为每个线程分配变量的存储位置。另外一种创建线程特定数据(Tthread-specific data)的方式是通过 pthread_key_create 创建键值映射。每个线程通过键访问线程特定的数据。glibc 中键集中分配管理,值分开存储的方式提供 TSD 数据。...
2021-10-22 15:25:07
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人