使用platformio+arduino开发自定义板子STM32G070
使用platformio平台和Arduino框架开发STM32G0,开发环境使用VSCode+PlatformIO插件;
1 自定义boards因为Platformio中没有自己需要的STM32G070RB这个型号的板子,因此需要自己定义一个开发板型号。
1.1 添加一个自定义boards首先这个是STM32系列,因此其boards目录如下(这里pio安装在默认位置):
1C:\Users\userName\.platformio\platforms\ststm32\boards
在这个目录新建一个board描述文件:MonkeyPi_STM32_G070RB.json,因为和STM32G071接近,因此可以复制 nucleo_g071rb.json文件 进行修改,内容如下:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748{ "build": { "core": "stm32&quo ...
Linux终端美化 oh-my-zsh使用
zsh终端配合oh-my-zsh配置可以非常美观:
1、安装zsh1sudo apt install zsh -y
2、安装oh-my-zsh1sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
3、设置主题
下载主题
1git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
更改主题
打开 ~/.zshrc 文件,然后设置主题:
1ZSH_THEME="powerlevel10k/powerlevel10k"
启用
1source ~/.zshrc
然后按照提示进行配置
4、设置插件
提示插件
1git clone https://gitee.com/makerinch ...
PySide2示例-USB HID测试工具
使用PySide2创建一个简单的USB HID测试工具。
1、建立界面新建项目文件夹 usbhid,然后用VSCode打开并新建ui文件夹,右键使用 New Form 使用QtDesigner建立如下界面:
然后选择菜单 窗体->View Python Code,将代码复制后保存到ui文件夹下 usbhid_ui.py。
2、具体功能实现
显示界面
123456789101112131415161718192021import sysfrom PySide2.QtWidgets import *from PySide2.QtCore import *from PySide2.QtGui import *from ui.usbhid_ui import Ui_MainWindowclass MainWindow(Ui_MainWindow,QMainWindow): def __init__(self): super(MainWindow,self).__init__() self.setupUi(self)if __name__ = ...
PySide2示例-简单的Hex转换工具
使用PySide2库创建一个简单的十六进制文件转换工具。
1、建立界面新建项目文件夹 hextool,然后用VSCode打开并新建ui文件夹,右键使用 New Form 使用QtDesigner建立如下界面: 然后选择菜单 窗体->View Python Code,将代码复制后保存到ui文件夹下 hextool_ui.py。
2、具体功能实现
显示界面
123456789101112131415161718192021import sysfrom PySide2.QtWidgets import *from PySide2.QtCore import *from PySide2.QtGui import *from ui.hextool_ui import Ui_MainWindowclass MainWindow(Ui_MainWindow,QMainWindow): def __init__(self): super(MainWindow,self).__init__() self.setupUi(self)if __name__ = ...
PySide2示例-简单的串口工具
使用PySide2建立简单的串口测试工具。
1、建立界面新建项目文件夹 serialtool,然后用VSCode打开并新建ui文件夹,右键使用 New Form 使用QtDesigner建立如下界面: 然后选择菜单 窗体->View Python Code,将代码复制后保存到ui文件夹下 serial_ui.py。
2、功能逻辑
主文件
添加主文件main.py,然后编写代码调用界面:
1234567891011121314151617181920import sysfrom PySide2.QtWidgets import *from PySide2.QtCore import *from PySide2.QtGui import *from ui.serial_ui import Ui_MainWindowclass MainWindow(Ui_MainWindow, QMainWindow): def __init__(self): super(MainWindow,self).__init__() self.setupUi(sel ...
PySide2入门-设计界面和简单美化
使用QtDesigner设计GUI界面,然后进行简单的美化。
1、设计界面新建项目文件夹pyside_start,并使用VSCode打开,在该项目文件夹下新建ui目录,然后右键New Form,打开QtDesigner工具设计好如下界面: 然后选择菜单 窗体->View Python Code ,点击复制全部,将复制的代码保存在ui文件夹下 main_ui.py。
2、主文件在项目目录下新建main.py文件,调用生成的界面,如下:
12345678910111213141516171819202122232425import sysfrom PySide2.QtWidgets import *from PySide2.QtCore import *from PySide2.QtGui import *from ui.main_ui import Ui_MainWindowclass MainWindow(Ui_MainWindow, QMainWindow): def __init__(self): super(MainWindow, self).__in ...
使用slint建立rust GUI程序
1、参考资料文档:https://slint-ui.com/releases/0.2.1/docs/rust/slint/ 仓库:https://github.com/slint-ui/slint 模板:https://github.com/slint-ui/slint-rust-template 示例:https://github.com/slint-ui/slint/tree/master/examples VSCode插件:slint语法高亮并可以进行界面预览 https://marketplace.visualstudio.com/items?itemName=Slint.slint
2、建立项目
新建项目
1cargo new test
添加库
123[dependencies]slint = "0.2.1"
main中添加代码:
12345678910111213fn main() { MainWindow::new().run();}slint::slint!{ MainWindow ...
vscode+DAPLink/CMSIS-DAP+pyocd单片机开发和SEGGER RTT打印
使用VSCode插件EIDE开发单片机项目非常方便,再配合PyOCD可以进行烧写、调试和RTT打印功能。当前的RTT输出功能要么使用JLink+Segger RTT Viewer的方式,要么使用其他第三方替代方案比如H7-Tool,这两种方案效果都很好,但是价格比较贵;另一个解决方式是使用开源的DAPLink仿真器+RTT打印功能,比如这里的 RTTView ,但是效果不是很好用。但是新发布的PyOCD-0.33.0 支持了RTT命令,因此可以使用DAPLink+PyOCD方式实现RTT输出打印功能。 下面介绍STM32配合DAPLink仿真器进行RTT打印输出功能,这样可以替代JLink+Segger RTT Viewer的功能,EIDE简单使用可以查看文章: 使用VSCode插件EIDE(Embedded IDE)开发ARM单片机项目-GD32单片机 下面以STM32F103C8单片机为例进行介绍。
1、示例代码
首先使用EIDE新建一个LED灯项目;
然后将 segger rtt print 功能添加到工程下;
添加后项目目录包含如下:
在main中添加rtt打印测试代 ...
VSCode使用-一些小技巧
1、快捷键1.1、基本快捷键
Ctrl+R 切换工作区
Ctrl+P 快速打开文件
Ctrl+Shift+P 命令面板
Shift+Alt+F 格式化代码
Ctrl+K Ctrl+F 格式化选中的代码
Ctrl+\ 拆分编辑器
Ctrl + - 放大缩小窗口
Ctrl+Shift+U 输出面板
1.2、编辑
Shift+Alt+I 选定每行末尾多行编辑,配合Alt+鼠标左键插入光标
Ctrl+L选中一行
Ctrl+Shift+L选中多个相同目标
F2 重命名变量
Ctrl+X 不选中时候剪切一行
Ctrl+C 不选中时候复制一行
Shift+Alt + ↓ / ↑ 向上向下复制行
Ctrl+ [ / ] 缩进
Ctrl+↓ / ↑ 滚动
Ctrl+Shift+[ / ] 折叠
Ctrl+Del 删除右侧单词
Ctrl+Back 删除左侧单词
1.3、移动和选择
Ctrl + ←/→ 单词移动
Ctrl+Shift+←/→ 单词选择
Ctrl+Shift+\ 跳转到匹配的括号
Alt + ...
ESP32开发-ESP-IDF+VSCode自定义组件RGB-LED
使用ESP-IDF开发方式控制RGB LED灯,并将其封装为更加简单的ESP-IDF组件方便调用。
1、准备工作1.1、硬件模块
ESP32-WROVER-E
LED
1.2、软件
VSCode ESP开发插件
ESP-IDF SDK
1.3、连线RGB LED的三个控制引脚分别连接ESP32开发板的12、14、27号引脚,简图如下:
2、代码2.1、目标实现一个自定义组件:rgbLEDC,该组件功能包括LED引脚配置(可以通过menuconfig配置)、基本开关控制、颜色调节、呼吸灯效果。
2.2、具体步骤(1)新建项目rgbLEDAPP; (2)在项目文件夹下新建component文件夹,执行命令 ESP-IDF -> 创建新的ESP-IDF组件: 在出现的输入框中填写组件名称:rgbLEDC,完成添加; (3)在rgbLEDC组件文件夹下新建Kconfig文件,用于menuconfig配置,内容如下:
Kconfig
12345678910111213141516menu "rgbled components config" ...