格式化输出与数据类型
俗语说浅水淹死人,作为Hello
World的第一门必修语法,格式化输出就是这样的存在。明明熟背在心,隔几个礼拜不print就只记得print和printf了,每次要用都要上网再查一次。干脆在这篇博文,简单归纳一下C语言、python两大块常用的格式化输出语法。
参考文章: 《printf()用法详解》
《简述strcpy、sprintf、memcpy》 《C/C++中volatile关键字详解》
C语言 printf sprintf fprintf
printf
最简单用法: 1printf("Hello World")
和python的print和C++的cout不同,printf不能直接输出字符数据,如printf(a)这种写法是错误的,必须经过格式化参数输出,参数以下:
123456789参数 数据类型 说明 %d(%i) int 十进制有符号32bits整数 %u unsigned ...
stm32标准库开发(一):八种GPIO模式介绍
八种GPIO模式
stm32定义了GPIO的八种模式,分别为4种输入模式和4种输出模式,使用场合、时机有所不同:
12345678910typedef enum{ GPIO_Mode_AIN = 0x0, GPIO_Mode_IN_FLOATING = 0x04, GPIO_Mode_IPD = 0x28, GPIO_Mode_IPU = 0x48, GPIO_Mode_Out_OD = 0x14, GPIO_Mode_Out_PP = 0x10, GPIO_Mode_AF_OD = 0x1C, GPIO_Mode_AF_PP = 0x18}GPIOMode_TypeDef;
输入模式
GPIO_Mode_AIN:模拟输入模式;这是最容易区分的模式,只有需要模拟输入时才需要这种模式,例如AD模数转换。
后面三种模式可以放在一起讨论
GPIO_Mode_IN_FLOATING:浮空输入模式
GPIO_Mode_IPD:下拉输入模式
GPIO_Mode_IPU:上拉输入模式
这三个输入模式是配置红框位置而来,开关如果全 ...
引导程序:LILO与GRUB
前几天看到一篇很好的文章,将LILO和GRUB两种引导程序描述了一遍。刚好搭建了这个博客,就发上来看看,既是记录,也是分享。本文参考的文章放在开头表达对原作最大敬意:
《引导加载程序之争:了解 LILO 和
GRUB》:https://blog.51cto.com/u_15930680/5990075 《BIOS、UEFI、Boot
Loader都是些什么》:https://zhuanlan.zhihu.com/p/336441128
BIOS与Bootloader
无论在PC,还是嵌入式系统,需要运行操作系统,就绕不开引导加载程序,复杂的PC引导程序可以由BIOS来完成,实际上BIOS是闭源的,没有严格的标准,不同的厂商做的BIOS不同,也有采用开源UEFI,有的称UEFI
BIOS,总而言之,传统的BIOS已经很少见了,计算机要考虑效率、性能、安全等问题,UEFI、BIOS、Bootloader都是混合在用,只是习惯上还是叫BIOS而已,主要功能一般描述为:对硬件进行初始化,对软件进行抽象。现在的BIOS固化发展过程:
ROM(不能修改)->PROM(一次性修改 ...