面试锦集-瀚海蓝帆
今天面试了一个很有趣的企业,HR 超级友善,虽然技术有一些问题没有回答上来,(挠头) 例如,舵机的控制脉宽,和脉宽周期 还有 modbus rtu 协议的开始和结束的条件,以及位置 PID(本质是一样的嘛) 趁这次机会回顾一下这些内容 # 舵机脉宽 # 舵机控制信号 # UART # 疑惑 # UART 是不是协议 技术面说 UART 不是协议,当时没反应过来就顺着说 UART 是外设。 但是等缓过来思考 UART 的确是一个协议,因为他是被设计出来用于将并行数据转化为并行数据的,有开始信号,有结束信号,还可以有校验位,严格意义上来说串口是物理层通信协议。 与 IIC 和 SPI...
more...win11关闭自带的繁体切换
最近在使用,CCS 的时候总是会出现输入法变成繁体的问题,都是手动设置回去,一直没管它。新年新气象,这个问题年初一就要解决. 去看了一下 win11 的快捷键映射。好家伙,简体繁体切换的快捷键和源码格式化的快捷键冲突了,这就忍不了 繁体我压根用不到,所以这个给快捷键等于浪费,难怪有些时候格式化源码不好使,所以我决定关闭这个没用的快捷键 # 第一步:打开语言设置 # 方案一: WIN+S 搜索语言设置 win+s 键,输入语言设置 说实话这是我最喜欢的方案,大部分系统设置我都是直接 win+s 然后搜索的,搜索到直接回车就能进入界面,方便快捷 #...
more...TMS320F28379D学习-时钟
虽然 28379D 有两个核,但工作时钟的配置方法还是一致的,所以可以从单核的角度来学习时钟配置的方法 # 时钟框图 无论什么外设都离不开功能框图,所以还是先从功能框图入手分析时钟配置的基本信息 # 时钟源部分 TMS320F28379D 有三个时钟源,两个内部时钟源和一个内部时钟源,通过 CLKSRCCTL1 来选择时钟源 INTOSC2 是默认的 10M 内部晶振,但是容差太差,如果要使用 USB 或者 CAN 外设则需要使用外部晶振 INTOSC1 是备用的 10M 内部晶振,但是只能用于 DCM 和看门狗。 XTAL 是外部晶振接口,提供稳定的时钟频率 # 振荡器 +...
more...TMS320F28379D学习之旅-GPIO输入
# 说明 本文硬件基于 LaunchXL-F28379D 和 逻辑分析仪,软件基于 CCS 10.4 版本, 帮助文档为 C2000 的例程和官方文档 因为 GPIO 输入详细的说明了如何找寄存器和分析文档,所以这里就简单的对寄存和一些与 MCU 不同的地方进行简单分析,不再长篇大论的做思路分析 # 逻辑框图 老样子,先搞上原理,相较于 GPIO 输出模式,输入模式就更为复杂一些. 从原理图中可以得到,输入需要配置 GPyPUD、GPyINV、GPyCTRL 和 GPyQSELn 寄存器,当然还有之前 输出模式所提及到到的寄存器。 # 寄存器 所有相关的寄存器还是从文档的寄存器表以及...
more...TMS320F28379D学习之旅-GPIO输出
离大谱,没 commit 就回滚了,居然得重写 原本,没有怎么啰嗦的,没想到,第三次写,就越写越啰嗦了,诸位见谅 # 说明 本文硬件基于 LaunchXL-F28379D 和 逻辑分析仪,软件基于 CCS 10.4 版本, 帮助文档为 C2000 的例程和官方文档 在此说明,这一系列的文章主要是记录我学习思考的过程,可能会啰里啰唆 个人观点,授人以鱼不如授人以渔,最后会给出完整的代码和工程的链接 #...
more...树莓派默认密码无法登录
# 起因 最近开始捣鼓树莓派,之前那它做了个旁路由,最后发现使用率太低,准备换成 Home Assistant 结果在刷 Raspberry Pi OS 的时候,发现创建 wpa_supplicant.conf 和 SSH 文件的方式完全没有用了 一开始我以为是 wifi 密码大小写问题,改了几次都不行,然后接入有线网络后登录 SSH 发现,默认的账号密码都不好使 # 结果 到官网查阅了一下更新记录,发现 大致意思就是,为了安全起见删除了默认账号 # 解决方法 # 方案一 (推荐) 使用官方的烧录软件: 地址 有梯子的建议关掉哦,我挂梯子反而下的慢 #...
more...HAL库出现HAL_StatusTypeDef无法识别
# 问题 今天重新写了一个 gpio 的抽象层,结果编译的时候出现了一个 bug: HAL_StatusTypeDef 无法识别 一看这种问题,涉及库文件不是头文件引用错就是,无意中改动了宏. # 思考 由于我的工程是直接从 CubeMX 中生成的所以不存在什么宏改错的问题 那就到了头文件的问题了,首先考虑自己编写的 gpio 文件 我的源码中只有一个头文件与 HAL 相关 很显然有一半的可能是 stm32f4xx_hal_gpio.h 惹的祸. 所以我将 stm32f4xx_hal_gpio.h 替换为 main.h 编译后 0 error 0 wraning ,...
more...STM32裸机移植SFUD
写在前面: 平台: STM32F407VGT6 + W25Q64FV 8MFLASH # 为什么要移植 SFUD 记得当初学标准库读写 FLASH 的时候,页写入代码可长可长了,而且不同的 flash 一套检测的宏不一样,改来改去特别麻烦. 而 SFUD 驱动只需要 FLASH 支持 SFDP 协议即可移植 SFUD 后只需实现初始化和写操作就可以愉快的使用 FLASH. 膜拜 armlink 大佬. 是 JEDEC (固态技术协会) 制定的串行 Flash 功能的参数表标准, 最新标准,目前新生产的 flash 都是支持的只有特别老旧的芯片才不支持. 而且 SFUD 对于不支持 SFDP 的...
more...