用 NVM 管理 npm 和 node 的版本
NVM 是用来管理 node 和 npm 版本的工具,官方仓库:https://github.com/nvm-sh/nvm 我的系统是 Windows,需要安装 nvm-windows,官方仓库: https://github.com/coreybutler/nvm-windows nvm 命令 nvm list 查看安装的 node 版本 windows 查看可用的版本 nvm ls available nvm use 版本号 切换的指定版本 nvm use node 切换到最新版本
AT32 配置nvic优先级组
在学习 At32 的过程中遇到了nvic优先级组,在此做个记录方便以后查阅。at32的固件库中 NVIC 相关的 API 在 at32f413_misc.c 文件中。 nvic_priority_group_typenvic_priority_group_type 枚举类型,定义了5中分组类型,定义如下: 1234567891011/** * @brief nvic interrupt priority group */typedef enum{ NVIC_PRIORITY_GROUP_0 = ((uint32_t)0x7), /*!< 0 bits for preemption priority, 4 bits for subpriority */ NVIC_PRIORITY_GROUP_1 = ((uint32_t)0x6), /*!< 1 bits for preemption priority, 3 bits for subpriority */ ...
AT32 打印输出 SystemCoreClock 的值
这里简单演示下打印输出 SystemCoreClock 的值,我用的 MCU 为 at32f413,最大频率为 200MHz。 我的配置: 配置代码时钟的配置可以用 AT32 官方提供的时钟配置工具(AT32_New_Clock_Configuration.exe)来生成。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950void system_clock_config(void){ /* reset crm */ crm_reset(); // 使用外部 8MHz 晶振 crm_clock_source_enable(CRM_CLOCK_SOURCE_HEXT, TRUE); /* wait till hext is ready */ while(crm_hext_stable_wait() == ERROR) { } /* config pll clock resource */ ...
FreeRTOS 配置文件笔记
FreeRTOSConfig.h 是 FreeRTOS 中的配置文件,通过配置该文件可以裁剪使用哪些 FreeRTOS 功能。 网站的 FreeRTOSConfig.h 配置文件很大有很多配置选项,但是有很多选项是有默认值的,我们只需配置我们使用的选项即可。 下面是一份...
TM3608 可调升压双电源开源项目分享
最近做了一个双电源升压模块,可以把一个低的电压升压为正负电压。芯片用的是 MT3608,特此分享出来给大家。 供电输入可以选择 USB 也可以选择 6P的排针,通过调节2个电位器可以调整正负输出电压的高低。 原理图 成品 力创开源硬件平台https://oshwhub.com/zsf90/mt3608_power_double
FreeRTOS 按键程序代码笔记
在这里分享一个我写到基于 FreeRTOS 的按键程序,只是自己的一个思路,欢迎讨论。 数据结构定义123456789101112131415161718192021222324252627282930313233343536373839404142434445464748//// File: xtp_defines.h//#ifndef __XTP_DEFINES_H#define __XTP_DEFINES_H#include "at32f413.h"#include <stdbool.h>#include <stdio.h>#define USE_FREERTOS (1) // 1:使用 FreeRTOS 0:不使用 FreeRTOS#define AT32#define LED#if USE_FREERTOS#include "FreeRTOS.h"#include "task.h"#endif#ifdef LED#include...
FreeRTOS钩子函数
FreeRTOS 中的钩子函数和中断的回调函数很像,钩子函数的名字是固定的,在特定事件下会自动执行响应名字的钩子函数,并且钩子函数是可剪裁的,在 FreeRTOSConfig.h中配置是否启用特定的钩子函数。 vApplicationTickHook节拍中断可以选择是否回调一个钩子函数,这个钩子函数允许实现一些周期性的功能。 使用节拍中断钩子函数,需要将 configUSE_TICK_HOOK设置为1,同时钩子函数申明为如下原型: void vApplicationTickHook( void ) 这个钩子函数必须很短且占用堆栈空间很少,因为这是在中断中调用的函数,同时,只能调用以FromISR结尾的API函数。
KiCAD 官方库笔记
Symbol 一些标志丝印,如:CE/ESD/FCC/KiCad/OSHW 等Logo。 TerminalBlock_Altech P5.0mm 45度端子 TerminalBlock_Phoenix 5.08 绿色端子 TestPoint 测试点 Valve 电子管 Varistor 压敏电阻插件 Sensor 传感器 Rotary_Encoder 旋转编码器,EC11等 FR_Shielding 屏蔽罩 FR_Module 常见射频模块,如:ESP32模块等 Resistor_THT 插件电阻 Resistor_SMD 贴片电阻 Relay_THT 插件继电器 Relay_SMD 贴片继电器 Potentiometer_THT 插件电位器 Potentiometer_SMD 贴片电位器 Package_TO_SOT_THT TO和SOT系列封装插件版,TO-220等 Package_TO_SOT_SMD TO和SOT系列封装贴片版,SOT-223-5等 Package_SO SO封装 Package_SON SON封装 Package_SIP...
WPF 样式小记
WPF 中的 Style 和 html 中的 css 是类似的东西,都是定义UI样式,WPF 中的样式可以继承,下面就来了解下 WPF 中的样式使用方法。 定义一个简单的样式这里我们给所有的 Button 定义一个样式,类似与 CSS 中的元素选择器,这里我们选择的元素就是 WPF 中的 Button。 12345678910111213141516171819202122<Window x:Class="Style.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" ...
WPF 消息框例子
这篇文章记录了 WPF 中的 MessageBox 的使用,给出了详细的代码例子。 消息框1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071namespace Dialogs{ /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void messageBoxHandle(object sender,...