首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux基础学习

date :查看时间 cal:查看日历   [Tab] 热键 :可以自动补全命令名和文件名   [Ctrl]+C 热键 :可以中断正在运行程序和文件   [Ctrl]+D 热键 :可以退出用户登录   ...权限是r(可读),w(可写),x(可运行)   相应位置为[-] ,代表没有相应权限。   ...2, 对文件,r表示读取文件内容,w表示改写文件,x表示可运行文件,但是可运行文件中不是每一个都能成功运行。   .../lib 系统式库,式库可以想成是外挂,某些指令需要式库才能运行。   .../usr/include/ c/c++等程序语言header和include 存放处   /usr/lib 各种软件式库/目录档案等,以及不被一般使用者惯用执行档和脚本

91720

初学Linux需要掌握一些基础

date :查看时间 cal:查看日历   [Tab] 热键 :可以自动补全命令名和文件名   [Ctrl]+C 热键 :可以中断正在运行程序和文件   [Ctrl]+D 热键 :可以退出用户登录   ...权限是r(可读),w(可写),x(可运行)   相应位置为[-] ,代表没有相应权限。   ...2, 对文件,r表示读取文件内容,w表示改写文件,x表示可运行文件,但是可运行文件中不是每一个都能成功运行。   .../lib 系统式库,式库可以想成是外挂,某些指令需要式库才能运行。   .../usr/include/ c/c++等程序语言header和include 存放处   /usr/lib 各种软件式库/目录档案等,以及不被一般使用者惯用执行档和脚本

61640
您找到你想要的搜索结果了吗?
是的
没有找到

嵌入式系统FreeRTOS — 互斥信号量

运行过程描述如下: 任务 Task1 运行过程需要调用函数 printf,发现任务 Task3 正在调用,任务 Task1 会被挂起,等待 Task3 释放函数 printf。...1.4 FreeRTOS 中断方式互斥信号量实现 互斥信号量仅支持用在 FreeRTOS 任务中,中断函数中不可使用。...2 互 斥 信 号 量 API 使用如下 18 个函数可以实现 FreeRTOS 信号量(含计数信号量,二值信号量和互斥信号):  xSemaphoreCreateBinary() ...此函数是用于任务代码中调用,故不可以在中断服务程序中调用此函数,中断服务程序中使用是xSemaphoreGiveFromISR。 3....使用这个函数要注意以下问题: 1. 此函数是用于任务代码中调用,故不可以在中断服务程序中调用此函数,中断服务程序使用是xSemaphoreTakeFromISR。 2.

1.4K20

利用Python生成Word邀请

背景 伴随着凯多被打败,草帽海贼团即将迎来新挑战,现急需扩展队伍(其实就是山治想把大和叫上),为了方便后面邀请新小伙伴也可以快速制作出邀请,船上神秘人悄悄地写了一个Python自动化脚本来实现了这一个功能...效果如下: 创建Python工程 我习惯使用conda来创建虚拟环境,搭建可以根据自己喜好创建即可。 在项目的根目录下创建一个名叫Word文件夹,用来保存我们用来操作Word脚本。...docx') 这里基本和上面一样没有什么额外知识点,除了最后一个保存文件。...目前代码目录如下,是没有没哟word文件。 我们运行看看效果 可以看到生成好了模版,打开后如下所示 背景图片来着互联网,如有侵权请留言给我。...我是Tango,一个热爱分享技术程序猿我们下期见。 我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

24010

【STM32F429】第20章 ThreadX互斥信号量

运行过程描述如下: 任务Task1运行过程需要调用函数printf,发现任务Task3正在调用,任务Task1会被挂起,等待Task3释放函数printf。...在调度器作用下,任务Task3得到运行,Task3运行过程中,由于任务Task2就绪,抢占了Task3运行。...使用ThreadX互斥信号量实现串口打印printf互斥访问。 运行过程描述如下: 低优先级任务Task1执行过程中先获得互斥资源printf执行。...上面就是一个简单ThreadX互斥信号量实现过程。 20.1.4 ThreadX中断方式互斥信号量实现 互斥信号量仅支持用在ThreadX任务中,中断函数中不可使用。...TX_WAIT_ERROR (0x04) 无效调用,主要是在非常任务代码中使用TX_NO_WAIT 以外形参。比如在中断服务程序里面设置等待。

46820

【STM32H7教程】第30章 STM32H7USART应用之八个串口FIFO实现

电阻R130作用是避免CPU复位期间,TX为高阻时串口线上出现异常数据。   检测SP3232E好坏可以采用回环方式,即短接T1OUT和R1IN,对应到DB9插座上就是短接引脚2和引脚3。...串口接收中断接收到函数后,可以使用函数comGetChar获取数据。...* 数 名: InitHardUart 19. * 功能说明: 配置串口硬件参数(波特率,数据位,停止位,起始位,校验位,中断使能)适合于STM32-H7开 20....最原来意思是打印输出到显示器。在单片机,我们常用它来打印调试信息到串口,通过计算机上运行串口软件来监视程序运行状态。 为什么要用printf函数,而不用串口发送函数。...因为printf函数形参功能很强大,它支持各种数值转换。比如将整数、浮点数转换为字符串,支持整数左对齐、右对齐显示等。 我们设计很多裸机例子都是用printf函数输出运行结果

2.6K50

【STM32F429】第7章 RTX5任务管理

为了更好说明这个问题,再举一个详细运行例子,运行条件如下: 使用抢占式调度器。 1个空闲任务,优先级最低。 2个应用任务,一个高优先级和一个低优先级,优先级都比空闲任务优先级高。...中断服务程序,含USB中断,串口中断和系统滴答定时器中断。 下图7.2所示是任务运行过程,其中横坐标是任务优先级由低到高排列,纵坐标是运行时间,时间刻度有小到大。...这部分知识点也非常重要,对于初学者,先搞懂这里讲解知识点即可。 7.6 RTX5系统栈设置 上面跟大家讲解了什么是任务栈,这里系统栈又是什么呢?...任务栈不使用这里栈空间,哪里使用这里栈空间呢?答案就在中断函数和中断嵌套。...一旦进入了中断函数已经可能发生中断嵌套都是用MSP指针。这个知识点要记住他,当前可以不知道这是为什么,但是一定要记住。

55320

深入理解JavaScript函数式编程

柯里化(Haskell Brooks Curry) 使用柯里化解决纯函数副作用.什么是柯里化呢?...; 它是上一次调用回调时返回累积值 第二个参数数组中正在处理元素。...这些问题引入了概念 Fuctor子 容器:包含值和值变形关系(这个变形关系就是函数) 子:是一个特殊容器,通过一个普通对象来实现,该对象具有map方法,map方法可以运行一个函数对值进行处理...是无法知道 //maybe 问题 console.log(r); MayBe 子其实就是在容器内部判断值是否为空,如果为空就返回一个值为空子。...Pointed 子是实现了of静态方法子,of方法是为了避免使用new来创建对象,更深层含义是of方法用来把值放到上下文Context(把值放到容器中,使用map来处理值) 其实上述将子都是

4.2K30

【STM32F407】第7章 RTX5任务管理

为了更好说明这个问题,再举一个详细运行例子,运行条件如下: 使用抢占式调度器。 1个空闲任务,优先级最低。 2个应用任务,一个高优先级和一个低优先级,优先级都比空闲任务优先级高。...中断服务程序,含USB中断,串口中断和系统滴答定时器中断。 下图7.2所示是任务运行过程,其中横坐标是任务优先级由低到高排列,纵坐标是运行时间,时间刻度有小到大。...这部分知识点也非常重要,对于初学者,先搞懂这里讲解知识点即可。 7.6 RTX5系统栈设置 上面跟大家讲解了什么是任务栈,这里系统栈又是什么呢?...任务栈不使用这里栈空间,哪里使用这里栈空间呢?答案就在中断函数和中断嵌套。...一旦进入了中断函数已经可能发生中断嵌套都是用MSP指针。这个知识点要记住他,当前可以不知道这是为什么,但是一定要记住。

57630

【STM32H7】第7章 RTX5任务管理

为了更好说明这个问题,再举一个详细运行例子,运行条件如下: 使用抢占式调度器。 1个空闲任务,优先级最低。 2个应用任务,一个高优先级和一个低优先级,优先级都比空闲任务优先级高。...中断服务程序,含USB中断,串口中断和系统滴答定时器中断。 下图7.2所示是任务运行过程,其中横坐标是任务优先级由低到高排列,纵坐标是运行时间,时间刻度有小到大。...这部分知识点也非常重要,对于初学者,先搞懂这里讲解知识点即可。 7.6 RTX5系统栈设置 上面跟大家讲解了什么是任务栈,这里系统栈又是什么呢?...任务栈不使用这里栈空间,哪里使用这里栈空间呢?答案就在中断函数和中断嵌套。...一旦进入了中断函数已经可能发生中断嵌套都是用MSP指针。这个知识点要记住他,当前可以不知道这是为什么,但是一定要记住。

64430

我当然理解初学者可以不懂,但是感觉有些底层知识点没必要在微信群提问

每个人都是从初学者走过来,我当然是知道纯粹初学者肯定是没办法凭空去获得如何查看自己r包安装在电脑什么目录知识点,但是我觉得这个不应该是在微信交流群里面讨论,只需要简单购买书籍去学习最基础r知识点即可...在R中,你可以使用.libPaths()函数来查看R安装路径。这个函数会返回一个字符串向量,其中包含了所有R安装路径。...这样,如果你项目被移动或者在另一台计算机上运行,你脚本仍然可以正常工作。 保存和加载会话:你可以使用save.image()函数保存你R会话,然后使用load()函数在以后会话中加载它。...这可以让你在中断工作后,恢复到你离开地方。 使用环境变量:如果你脚本需要敏感信息,如数据库密码,你可以将这些信息存储在环境变量中,然后在你脚本使用Sys.getenv()函数来访问它们。...管理包:使用.libPaths()函数可以查看或设置R安装路径。你可以使用install.packages()函数lib参数来控制包安装位置。

14820

【STM32H7教程】第31章 STM32H7USART应用之RS485

经常会有网友咨询为什么程序里面收发切换没有做延迟处理,这里就涉及到一个关键知识点TXE发送空中断和TC发送完成中断区别,详细看教程中说明即可。...电阻R15和R165作用是避免CPU复位期间,TX为高阻时影响总线数据。   电阻R4和R2是保证空闲时处于确定逻辑状态,提供可靠性。   电阻R3是终端电阻。...; /* 正在发送中标志 */ #endif } 上面代码中置红部分是专用于485总线,对应代码如下: /* *******************...下面我们分析一下串口中断处理完整过程。 当产生串口中断后,CPU会查找中断向量表,获得中断服务程序入口地址。...使用举例: 串口初始化函数在bsp.c文件bsp_Init函数里面调用。

2.1K20

【STM32H7教程】第19章 STM32H7GPIO应用之按键FIFO

我们推荐使用枚举enum, 不用#define原因:   便于新增键值,方便调整顺序。   使用{ } 将一组相关定义封装起来便于理解。   编译器可帮我们避免键值重复。...因此在定时扫描按键之前,必须先执行一段初始化函数来设置每个按键函数指针和参数。这个函数是 void bsp_InitKey(void)。它由bsp_Init()调用。...从裸机角度分析 中断方式:中断方式可以快速地检测到按键按下,并执行相应按键程序,但实际情况是由于按键机械抖动特性,在程序进入中断后必须进行滤波处理才能判定是否有效按键事件。...如果每个按键都是独立接一个IO引脚,需要我们给每个IO都设置一个中断,程序中过多中断会影响系统稳定性。中断方式跨平台移植困难。...从OS角度分析 中断方式:在OS中要尽可能少用中断方式,因为在RTOS中过多使用中断会影响系统稳定性和可预见性(抢占式调度OS基本没有可预见性)。只有比较重要事件处理需要用中断方式。

1.7K21

【STM32F407】第9章 RTX5任务运行在特权级或非特权级模式

mod=viewthread&tid=93149 第9章 RTX5任务运行在特权级或非特权级模式 本章教程为大家讲解RTX5运行模式一个重要知识点,特权级模式和非特权级模式,有些资料或者书籍将非特权级模式称为用户模式...对于使用Cortex-M3/M4/M7内核芯片来说,RTX操作系统可以让任务运行在特权级或者非特权级模式,这两种模式是Cortex-M3/M4/M7内核本身所具有的特性。...9.2.2 非特权级模式下核心外设寄存器如何初始化 如果用户将RTX操作系统任务设置在非特权级模式下运行,那么核心外设寄存器应该放在哪里进行初始化呢,主要有以下两种方法: 使用SVC(Supervisor...CONTROL寄存器也是通过MRS和MSR指令来操作: MRS R0, CONTROL MSR CONTROL, R0 9.2.4 RTX5任务特权等级设置方法 RTX任务特权等级设置方法比较简单...在这个管理制度下,运行在线程模式用户代码使用PSP,而异常服务例程则使用MSP。这两个堆栈指针切换是智能全自动,就在异常服务始末由硬件处理。

1.1K20

【安富莱】【RL-TCPnet网络教程】第10章 RL-TCPnet网络协议栈移植(FreeRTOS)

另外,RL-TCPnet移植到FreeRTOS要重新配置RL-TCPnet接口函数,以此来支持RL-TCPnet多任务运行使用RTX无需重新配置,因为默认情况下就是采用RTXAPI函数配置。...初始化一个定时器中断,精度高于滴答定时器中断,这样才可以获得准确系统信息 仅供调试目的,实际项 目中不要使用,因为这个功能比较影响系统实时性。 2....App_Printf("\r\n任务名 运行计数 使用率\r\n"); vTaskGetRunTimeStats...初始化一个定时器中断,精度高于滴答定时器中断,这样才可以获得准确系统信息 仅供调试目的,实际项 目中不要使用,因为这个功能比较影响系统实时性。 2....App_Printf("\r\n任务名 运行计数 使用率\r\n"); vTaskGetRunTimeStats

1.6K20

【STM32F407DSP教程】第13章 DSP快速计算函数-三角函数和平方根

有兴趣同学可以自行研究,本期教程开始主要讲解函数如何使用。...新建一个.m格式脚本文件,并写入如下函数: x = 0:0.01:2*pi; plot(x, cos(x)) 运行后显示效果如下: 点击上面截图中Tools->Data statistics(工具-...新建一个.m格式脚本文件,并写入如下函数: x = 0:0.01:2*pi; plot(x, sine(x)) 运行后显示效果如下: 点击上面截图中Tools->Data statistics(工具...在使用这个函数时候有一点要特别的注意,比如我们要求1000平方根,而获得结果是1465429,这是为什么呢,分析如下: 定点数1000 = 浮点数 1000 /(2^31) = 4.6566e-07...F407自带16MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。

90810

【STM32H7教程】第66章 STM32H7低功耗串口LPUART应用之串口FIFO和停机唤醒实现

电阻R130作用是避免CPU复位期间,TX为高阻时串口线上出现异常数据。   检测SP3232E好坏可以采用回环方式,即短接T1OUT和R1IN,对应到DB9插座上就是短接引脚2和引脚3。...低功耗串口接收中断接收到函数后,可以使用函数lpcomGetChar获取数据。...0; /* 正在发送中标志 */ #endif }   函数InitHardLPUart 此函数主要用于串口GPIO,中断和相关参数配置。...最原来意思是打印输出到显示器。在单片机,我们常用它来打印调试信息到串口,通过计算机上运行串口软件来监视程序运行状态。 为什么要用printf函数,而不用串口发送函数。...因为printf函数形参功能很强大,它支持各种数值转换。比如将整数、浮点数转换为字符串,支持整数左对齐、右对齐显示等。 我们设计很多裸机例子都是用printf函数输出运行结果

1.9K20

FreeRTOS(十一):其他任务 API 函数

10、函数 eTaskGetState() 此函数用于查询某个任务运行壮态,比如:运行态、阻塞态、挂起态、就绪态等,返回值是个枚举类型。...每个滴答定时器中断 xTickCount 就会加 1,一秒钟滴答 定时器中断多少次取决于宏 configTICK_RATE_HZ。...什么时候溢出取决于宏 configUSE_16_BIT_TICKS,当此宏为 1 时候 xTixkCount 就是个 16 位变量,当为 0 时候就是个 32 位变量。...13、函数 xTaskGetTickCountFromISR() 此函数是 xTaskGetTickCount()中断级版本,用于在中断服务函数中获取时间计数器xTickCount 值。...17、函数 vTaskGetRunTimeStats() FreeRTOS 可以通过相关配置来统计任务运行时间信息,任务运行时间信息提供了每个任务获取到 CPU 使用权总时间。

2K30

【STM32F429DSP教程】第13章 DSP快速计算函数-三角函数和平方根

新建一个.m格式脚本文件,并写入如下函数: x = 0:0.01:2*pi; plot(x, cos(x)) 运行后显示效果如下: 点击上面截图中Tools->Data statistics(工具-...新建一个.m格式脚本文件,并写入如下函数: x = 0:0.01:2*pi; plot(x, sine(x)) 运行后显示效果如下: 点击上面截图中Tools->Data statistics(工具...在使用这个函数时候有一点要特别的注意,比如我们要求1000平方根,而获得结果是1465429,这是为什么呢,分析如下: 定点数1000 = 浮点数 1000 /(2^31) = 4.6566e-07...F407自带16MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。...F407自带16MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。

84230
领券