avatar
文章
59
标签
84
分类
15
Home
Archives
Tags
Categories
Link
About
Logo小土坡的博客
搜索
Home
Archives
Tags
Categories
Link
About

小土坡的博客

FreeRTOS 按键程序代码笔记
发表于2024-03-07|嵌入式
在这里分享一个我写到基于 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钩子函数
发表于2024-03-07|嵌入式
FreeRTOS 中的钩子函数和中断的回调函数很像,钩子函数的名字是固定的,在特定事件下会自动执行响应名字的钩子函数,并且钩子函数是可剪裁的,在 FreeRTOSConfig.h中配置是否启用特定的钩子函数。 vApplicationTickHook节拍中断可以选择是否回调一个钩子函数,这个钩子函数允许实现一些周期性的功能。 使用节拍中断钩子函数,需要将 configUSE_TICK_HOOK设置为1,同时钩子函数申明为如下原型: void vApplicationTickHook( void ) 这个钩子函数必须很短且占用堆栈空间很少,因为这是在中断中调用的函数,同时,只能调用以FromISR结尾的API函数。
KiCAD 官方库笔记
发表于2024-03-04|电路设计
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 样式小记
发表于2024-02-28|编程
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 消息框例子
发表于2024-02-27|编程
这篇文章记录了 WPF 中的 MessageBox 的使用,给出了详细的代码例子。 消息框1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071namespace Dialogs{ /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void messageBoxHandle(object sender,...
FreeRTOS 延时函数
发表于2024-02-23|嵌入式
vTaskDelay()任务延时函数,把当前任务从运行态(就绪列表),移到延时列表。 参数: xTicksToDelay > 延时的时间长度,单位是系统时钟节拍周期。 如果调用vTaskDelay()函数的任务在执行过程中被更高优先级的任务或者中断所打断,那么调用vTaskDelay()函数的任务将会受到影响,此时将不能保持一个固定的时间间隔运行。 使用例子12vTaskDelay(500/portTICK_PERIOD_MS);vTaskDelay(200); 函数定义12345678910111213141516171819202122232425262728293031323334353637383940414243#if ( INCLUDE_vTaskDelay == 1 ) void vTaskDelay( const TickType_t xTicksToDelay ) { BaseType_t xAlreadyYielded = pdFALSE; /* A delay time of zero just...
FreeRTOS 任务挂起与任务恢复
发表于2024-02-22|嵌入式
FreeRTOS 的任务有几种状态,并且这几种状态可以相互转换,下面是转换图: 任务的4个状态: 运行态 就绪态,指准备好了,可以随时运行 阻塞态 挂起态 运行态当任务实际执行时,它被称为处于运行状态。 任务当前正在使用处理器。 如果运行 RTOS 的处理器只有一个内核, 那么在任何给定时间内都只能有一个任务处于运行状态。 就绪态准备就绪任务指那些能够执行(它们不处于阻塞或挂起状态), 但目前没有执行的任务, 因为同等或更高优先级的不同任务已经处于运行状态。 阻塞态如果任务当前正在等待时间或外部事件,则该任务被认为处于阻塞状态。 例如,如果一个任务调用vTaskDelay(),它将被阻塞(被置于阻塞状态), 直到延迟结束-一个时间事件。 任务也可以通过阻塞来等待队列、信号量、事件组、通知或信号量 事件。 处于阻塞状态的任务通常有一个”超时”期, 超时后任务将被超时,并被解除阻塞, 即使该任务所等待的事件没有发生。 阻塞状态下的任务不使用任何处理时间,不能 被选择进入运行状态。 挂起态 Blocked与阻塞状态下的任务一样, 挂起状态下的任务不能...
FreeRTOS 创建任务
发表于2024-02-22|嵌入式
1234567891011121314151617#include "FreeRTOS.h"#include "task.h"#define USER_LED_TASK_PRIO 2 /* 定义任务优先级,数字越大优先级越高 */#define USER_LED_TASK_STACK_SIZE 120 /* 定义任务堆栈大小,单位为:字 */TaskHandle_t user_led_handle; /* 定义任务句柄 */void xtp_create_task(void){ xTaskCreate( (TaskFunction_t)led_task, (const char *)"led_task", (uint16_t)USER_LED_TASK_STACK_SIZE, (void *)NULL, (UBaseType_t)USER_LED_TASK_PRIO, ...
Rust 笔记之错误处理
发表于2024-02-22|编程
12345678910111213141516171819202122fn result_test(i: i32) -> Result<&'static str, &'static str> { if i > 0 { Err("Error") } else { Ok("ok") }}fn main() { println!("Hello, world!"); let a = result_test(-1); assert_eq!(a.is_ok(), true); match a { Ok(v) => {println!("v: {v}")}, Err(e) => {println!("e:...
Rust 笔记之常量与变量
发表于2024-02-21|编程
Rust 中变量和常量的概念,变量分为可变变量和不可变变量,常量用 const 定义。 1234567891011121314151617181920212223fn main() { println!("/////////////////////////////////////////"); println!("==============Hello, world!=============="); println!("/////////////////////////////////////////"); let x = 5; // x 不可变,自动类型推导为 i32 let y: f64 = 12.325; // y 不可变,显式指定类型为 f64, 带小数点的默认自动为 f64 let mut z: f64; // z 可变,值可变,在定义时不给初始化则必须指定变量的类型 println!("x: {x}"); ...
1…456
avatar
小土坡
小土坡是一个关于电子技术与软件设计的博客站点,会经常写一下学习笔记和分享一些其他内容。
文章
59
标签
84
分类
15
Follow Me
公告
This is my Blog
最新文章
linux tree command
linux tree command2025-03-27
React 更新 state 中的数组
React 更新 state 中的数组2025-03-23
Mui 中的 Divider 分割线
Mui 中的 Divider 分割线2025-03-20
Autocomplete 中的两个可控状态 value 和 inputValue
Autocomplete 中的两个可控状态 value 和 inputValue2025-03-20
Autocomplete 练习,各个属性的例子
Autocomplete 练习,各个属性的例子2025-03-19
分类
  • Docker1
  • Issues1
  • Linux2
  • Mui5
  • React3
  • Rust1
  • Tauri2
  • TypeScript2
标签
按键长按 theme 裸机 FreeRTOS array clang-format React库 流程图 KiCad 字符串 disablePortal javascript LTspice sqlite CMake FreeRTOSConfig 唯一ID AT32 Paper 中断 Mui sql OLED Tauri Docker Autocomplete 开源项目 mui Array NVIC 前端 滴答定时器 TM3608 二极管 遍历 react 组件 Rust 宏 Blog
归档
  • 三月 2025 13
  • 一月 2025 1
  • 十二月 2024 14
  • 十一月 2024 3
  • 七月 2024 1
  • 六月 2024 3
  • 三月 2024 8
  • 二月 2024 13
网站信息
文章数目 :
59
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2023 - 2025 By 小土坡
框架 Hexo|主题 Butterfly
搜索
数据加载中