都市天际线政策面板指北
众嗦粥汁,政策是天际线经营玩法的精髓之所在,他是治理城市的有力工具,决定了你的城市包括但不限于收支、吸引度、幸福度等诸多功能。而各种政策,则是由政策面板提供 (
基于STM32F103软件模拟I2C的纯粹C语言面向对象尝试
最近也是秋招收到offer了,嵌软方向,本地企业,于是闲的没事干在学校开摆,顺便提升下代码水平。
于是首当其冲的就是指针和面向对象思维,emmmm怎么说呢,这方面蛮薄弱的,于是刚学了一点结构体指针的皮毛,结合之前比赛因为用了许多I2C设备而多次反复的初始化GPIO口的麻烦,尝试了下把I2C面向对象化,顺便复习下I2C。
面向对象核心思想和C语言的实现
众所周知,向对象编程(Object-Oriented Programming,OOP)是一种通过抽象和封装来提高代码复用性和可维护性的编程范式,但是C语言他原生是面向过程语言,并未向Python和Java那样原生支持面向对象的特性。
C语言的精髓和核心是指针,通过指针直接操作内存,可以实现很多骚操作;加上C语言的struct结构体,以及typedef自定义类型,从而实现模拟类和对象;又因结构体支持结构体的嵌套,因此可以实现基于嵌套意义的类和方法继承;进而实现面向对象的思想和全部功能。
「幻想乐园」|陈致逸全新专辑试听体验
刷b站的时候突然发现陈老师出新专辑了,当场就把数字专辑买了(
一开始还以为是原神出新OST了,后来才发现陈老师已经离开米哈游了(
之前听了MV,很浓的枫丹感涌上来,这是初听。
细听才发现,这不是枫丹感,这是独属于陈老师的告白。
乱舞、指环、回廊、朋友,这是陈老师对过往和原神的告别,亦是新旅程的开始。
与其说有枫丹感,更不如说,《幻想乐园》即便是专属于陈老师的枫丹!
博通编译脚本和编译器找不到相关文件
之前学习博通的时候,一直是在Windows克隆的代码,然后复制到共享文件夹中进行操作,修改文件后,在linux下进行编译,进而出现了编译脚本找不到部分文本文件的情况。
实际上这和Linux是LR换行而Windows是CRLR换行有关系,在Windows上Git的时候,会导致原本LR换行的文件被自动转换为CRLR,而Linux原生支持LR且不兼容CRLR,于是编译器不停报错,先是提示换行符,后压根没有错误信息,误导性比较强。
一劳永逸的方法是,在全程在Linux操作,在Linux克隆,在Linux编译,最后需要烧录了,再把bin拷贝出来,在Windows进行烧录操作。
但是在Linux下无论是直接用vim还是Vscode
上手GY-30(BH1750)光强度传感器和相关程序代码
最近在写比赛的文档的时候,写到了BH1750的参数之类的,于是想着想都想了,不如写下来玩玩。
emmmm,这边用的是STM32F103C8T6的芯片的标准库,其他MCU也大同小异,如果是用hal库就更好了,无需管GPIO口初始化那堆零碎的事情了。
模块和芯片
而BH1750是一款数字型的光强传感器片上集成芯片,采用标准I2C总线协议与MCU进行链接。
GY-30模块的实质是BH1750,只是把外围诸如滤波和电容之类的电路整合进去了而已,其实都是用的BH1750芯片。
BH1750内部电路是由:光敏二极管、运算放大器、AD转换器等组成。光敏二极管通过光伏效应接收光信号产生电信号,经过运算放大后,由AD转换器采集电压数据并转换为数字信号,然后储存在寄存器之中。BH1750支持完全的I2C协议,使用I2C总线发送特定的控制位,即可读取光强度数据,亦可以修改BH1750的采集模式。
Redmi Buds 4 Pro偷渡和开启LDAC
前几天用了很久的OPPO Enco Air2寄了,于是在当地的小米之家,原价入了Redmi Buds 4 Pro,用了几天发现可以通过刷入国际版固件开启LDAC,于是记录一下。
2024年12月11日:可喜可贺的事,Redmi Buds 4 Pro不见了(
ESP-01S基于AT+MQTT速通华为云
基于ESP-IDF+VSCODE的ESP32开发环境搭建
若干年前想着学ESP-IDF,跑了下开发环境,发现乐鑫这个破IDF是真的多坑啊