boringhex.top博客

非典型程序员的小破站

系列目录

在前一篇文章中我们已经学习到可以通过直接访问存储地址来读写外设寄存器,下面复习下将GPIO A3设为输出模式的代码:

1
2
* (volatile uint32_t *) (0x40020000 + 0) &= ~(3 << 6);  // CLear bit range 6-7
* (volatile uint32_t *) (0x40020000 + 0) |= 1 << 6; // Set bit range 6-7 to 1
阅读全文 »

系列目录

这个系列将介绍STM32裸机编程的基础知识,以便更好地理解STM32Cube、Keil等框架和IDE是如何工作的。本指南完全从头开始,只需要编译器和芯片数据手册,而不依赖任何其它软件工具和框架。

这个系列涵盖了以下话题:

  • 存储和寄存器
  • 中断向量表
  • 启动代码
  • 链接脚本
  • 使用make进行自动化构建
  • GPIO外设和闪烁LED
  • SysTick定时器
  • UART外设和调试输出
  • printf重定向到UART
  • 用Segger Ozone进行调试
  • 系统时钟配置
  • 实现一个带设备仪表盘的web服务器
阅读全文 »

今天在电脑上尝试计算圆周率,把代码和用时贴出来,有兴趣可以在评论区写出你的用时。

阅读全文 »

最近天气越来越冷,在北方南北通透的户型经常面临一个问题就是北面的门窗关不严,呼啸的北风那叫一个凉爽。

原以为是年久失修,门窗里的密封条失去弹性导致密封性能下降。实际上在更换密封条之前还有一个小方法可以试一试。

阅读全文 »

Typer, build great CLIs. Easy to code. Based on Python type hints.

今天偶然看到GitHub上一个python开源项目——Typer,可以帮助简单快速地构建命令行应用。正如介绍所说,“users will love using and developers will love creating”。

The key features are:

  • Intuitive to write: Great editor support. Completion everywhere. Less time debugging. Designed to be easy to use and learn. Less time reading docs.

  • Easy to use: It’s easy to use for the final users. Automatic help, and automatic completion for all shells.

  • Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.

  • Start simple: The simplest example adds only 2 lines of code to your app: 1 import, 1 function call.

  • Grow large: Grow in complexity as much as you want, create arbitrarily complex trees of commands and groups of subcommands, with options and arguments.

阅读全文 »

这篇文章之前发布在稀土掘金上,所以图片上有水印。

今天在win10上安装了Jenkins,作为团队CI/CD服务器,中间有些小坑,记录下过程。

环境

  1. Windows10 专业工作站版 19044.2006
  2. Jenkins 2.361.1

    注意:这个版本的Jenkins只能用Java11或17

  3. Java11 jdk-11.0.16.1
阅读全文 »

前两天写完一篇文章,但是还没有发布,因为一直在调试hexo和next-theme的配置。然后就发生了一件很悲催的事情,执行了git add .,正准备git commit时,发现有很多文件不想加到git仓库,也就是在工作区执行了add,但是还没有commit,此时脑袋一热,执行了git reset --hard HEAD,然后就悲剧了,工作区的修改全没了。

脑袋嗡的一下,敲完回车的那一刹那我就感觉哪里不对了,但为时已晚。

阅读全文 »

安装

Hexo的安装比较简单,其中不太友好的点就是nodejs的安装。这里强烈推荐Scoop

我是参照中文版官方文档进行安装,文中要求nodejs和git,git早早就安装了,安装nodejs时遇到一点小问题,就是nodejs版本太多、更新太快。

阅读全文 »

踟蹰了太长时间,差点就放弃,但是心中还是觉得技术人应该写点什么,留下点什么,所以终于还是入坑了。

从弃坑到入坑


第一次产生写博客的想法应该还是大学时,当时经常逛论坛,翻看技术博客,主要是老外的,当时真的是啥啥芯片都是老外的,资料也就基本英文。看人家写的博客就觉得这帮人怎么这么闲,每天干完工作,还有时间写博客、发文章,甚至拍视频,做技术分享交流,老外的文章质量真的很高,甚至比国内某些教材写的都好,所以萌生了自己也要写的想法,然后就开始找各种方案。

阅读全文 »
0%