- 博客(34)
- 资源 (2)
- 问答 (10)
- 收藏
- 关注
原创 使用cnc shiled v3扩展板问题记录
cnc shiled v3在z轴限位开关的引脚是11,gbrl的z轴限位引脚默认是12,VARIABLE_SPINDLE这个宏变量是默认开启的,导致我一直找不到原因,而cnc shiled v3的12引脚是连接主轴启动引脚,我直接把z轴限位开关接在主轴启动引脚上,也就是12引脚,cnc正常归零位,也不需要设置gbrl中$5这个参数,直接为0,我之前查了好多资料是需要设置这个参数,这个参数是把限位引脚反转,直接设为0就行。
2024-05-11 14:11:49
271
原创 C语言编程中布尔设置位掩码示例
在C语言编程中,当你想使用整数(通常是unsigned int或uint8_t, uint16_t, uint32_t等)的位来存储多个布尔设置时,你会使用位掩码。每个设置对应于整数中的一个位,你可以通过位操作(如按位与&、按位或|、按位异或^、按位取反~、左移)来读取或修改这些设置。在这个示例中,我们定义了一个Settings结构体,它包含一个uint8_t类型的flag成员,用于存储标志。然后,我们为每个设置定义了一个位掩码,这些掩码用于通过位操作来读取或修改相应的标志。
2024-05-10 12:18:14
176
原创 rp2040函数iic部分函数解释
在实际应用中,GPIO的上拉和下拉电阻配置对于确保稳定的输入状态或定义默认输出状态是非常重要的。例如,如果一个GPIO用作按钮输入,你可能希望配置一个上拉电阻,这样当按钮未被按下时,引脚会默认为高电平。GPIO是微控制器和许多其他数字电子设备中常见的特性,允许软件控制硬件引脚的状态(输入或输出)以及这些引脚上的电压水平。函数的实现细节没有给出,但可以推测它调用了一些底层硬件相关的代码来设置指定GPIO的功能。这个函数的目的是确定当前GPIO的功能。枚举中的一个值,代表GPIO当前的配置或功能。
2024-04-14 00:27:05
295
原创 rop2040编译出错记录
被同一个源文件多次包含,而你又没有使用包含守卫(也称为头文件保护),这也可能导致函数被多次定义。错误信息提示的是链接器(ld)在尝试创建最终的可执行文件时遇到了问题,具体是。在C++中,你应该只在头文件中声明函数,而在单个源文件中定义它。:可能存在条件编译的错误,使得同一个函数在不同的条件下被多次定义。函数在多个地方被定义了。中被定义,并且这个头文件被多个源文件(如。已解决,在另一个文件中重复定义。
2024-03-30 16:35:05
323
原创 vscode配置rp2040出错记录
是第三方库或框架提供的一部分,并且你没有直接修改它的定义,那么错误可能是由于你使用的版本与你的项目配置不兼容,或者是因为你的CMakeLists.txt文件中存在配置错误。函数的定义,以确保你传递了正确的参数。这可能涉及到阅读该函数的文档或源代码,以了解它期望接收哪些参数以及这些参数应该具有什么样的格式。这条错误信息是由CMake产生的,指出了在构建过程中遇到了一个问题。是如何被调用的,以及是否所有的参数都是正确提供的。这个CMake脚本中定义的,而该脚本位于。中第176行附近的代码,看看。
2024-03-25 05:44:17
205
原创 rp2040编译出错及lu
如果你只是想要打印指针本身的值(即它在内存中的地址),你应该先将指针转换为适当的整数类型(比如。请注意,直接打印指针值通常不是很有用,除非你在进行调试或需要了解指针在内存中的确切位置。如果你想要打印出整个数组或缓冲区的内容,你需要遍历这个数组或缓冲区,并逐个打印出每个元素。是一个掩码(通常是一个位模式,用于与另一个值进行按位与操作以选择或屏蔽特定的位)。指针指向的值,你需要先解引用这个指针来获取它所指向的实际数据。的结果非零(即真),则整个表达式的结果为。类型的值,但这样的转换是不合法的。
2024-03-25 05:19:17
393
原创 使用rp2040驱动ov7670摄像头(不带FIFO)使用c/c++语言实现
此外,它还具备丰富的外设接口,如GPIO、I2C、SPI等,可以方便地与其他硬件设备进行通信和控制。基于RP2040的微控制器板,如Raspberry Pi Pico/Pico H/Pico W等,提供了灵活的数字接口,是高性能微控制器板的理想选择。在功能方面,OV7670具备必要的图像处理功能,如伽玛、曝光控制、色彩饱和度、白平衡和色调控制,这些功能都可以通过SCCB接口进行编程。此外,RP2040还具有强大的模块系统,提供文件系统、网络、图形界面等功能,为开发者提供了丰富的工具和资源。
2024-03-21 10:58:14
1116
原创 使用arduino编译程序时出现程序里有调用这个库,但实际没有这个库
这段代码是关于Raspberry Pi Pico SDK库的一个子集聚合的描述。Pico SDK是Raspberry Pi RP2040微控制器的一个软件开发工具包,它提供了许多库和工具,使得开发者能够更容易地为这个微控制器编写代码。总的来说,这段代码描述了一个为Raspberry Pi RP2040微控制器提供的Pico SDK库的子集聚合,这个子集包含了大多数基本程序所需的功能,并允许开发者根据需要定制一些默认值。下面是一部份说明文档的解释。
2024-03-16 15:27:28
523
2
原创 使用vscode为rp2040配置tinyusb时出错
函数的文档或源代码,了解它需要的正确参数列表和类型。函数需要特定的硬件接口、目标文件名或其他配置参数,但是调用时没有提供这些参数,或者提供了错误类型的参数,那么函数将无法执行其预期的功能。:如果上述步骤都不能解决问题,查阅TinyUSB或相关项目的文档,或者在项目的论坛、GitHub页面或相关社区中寻求帮助。如果函数或项目是由第三方提供的,你可能需要联系他们获取帮助,或者查阅相关的用户手册或在线社区支持。:如果问题是由于特定版本的代码或子模块造成的,尝试使用不同的版本或分支可能有助于解决问题。
2024-03-15 02:24:33
633
1
原创 c++与c对内存操作的比较和分析
类型的指针,而没有进行显式的类型转换。在 C++ 中,这种转换通常是不允许的,因为 C++ 提供了更严格的类型检查。会调用对象的构造函数(如果有的话),并返回正确类型的指针,不需要显式转换。在编写 C++ 代码时,尽可能遵循 C++ 的最佳实践和风格,使用。(这在某些情况下是合理的,比如与 C 库交互时),请确保使用。但是,请注意,如果你正在编写 C++ 代码,通常推荐使用。来管理动态内存,除非有特别的原因需要使用。根据一段代码进行分析,这是用过的代码。时,当你不再需要内存时,应该使用。
2024-03-12 11:14:25
321
原创 rp2040通过dma和pio状态机联合传输数据后续
设置PWM硬件的cc值,通过左移操作<<将1与PWM_CH0_CC_A_LSB结合,将3与PWM_CH0_CC_B_LSB结合,并通过位或操作|组合这两个值。设置PWM硬件的div值,通过左移操作<<将4与PWM_CH0_DIV_INT_LSB(可能是一个预定义的位移量)结合,以设置分频值。注释,解释下面的pwm_hw->slice[0].csr = PWM_CH0_CSR_EN_BITS;设置PWM硬件的csr值为PWM_CH0_CSR_EN_BITS,这通常是一个预定义的位掩码,用于启用PWM功能。
2024-03-09 10:56:29
537
1
原创 pio状态机与dma传输数据函数解析
这段代码是一个初始化函数,用于设置Raspberry Pi Pico的PIO(Programmable Input/Output)状态机以捕获多个引脚的数据。综上所述,这个函数的目的是为Raspberry Pi Pico的PIO设置一个状态机,使其能够无限循环地捕获指定数量的引脚数据,并将这些数据放入FIFO缓冲区中。这行代码将之前定义的PIO程序添加到PIO实例中,并返回一个偏移量,该偏移量将用于后续的状态机配置。这里定义了一个PIO程序,它只包含一个之前编码的指令。从PIO实例获取默认的状态机配置。
2024-03-08 00:14:57
444
原创 对rp2040使用pio和dma联合传输数据的记录
它会在检测到触发条件(即某个引脚上的电平条件)后,以固定的速率从引脚捕获样本。从代码中可以看出,这个逻辑分析器的主要目的是对树莓派上的某些引脚进行实时监控,当满足特定条件(如某个引脚的电平变化)时,以一定的速率采集这些引脚的状态,并将数据保存到内存中。是一个关键字,用于为已有的数据类型创建一个新的名称或别名。这样的别名也使得代码更易于阅读和维护,因为它可能表示某种特定的硬件接口或功能。类型在未来发生变化(例如,你决定使用不同的数据类型),你只需修改。这意味着,在后续的代码中,每当你想声明一个指向。
2024-03-07 00:16:12
540
原创 rp2040使用内部时钟配置引脚频率并输出
这是一个自定义函数(可能是特定于某个硬件平台的),用于初始化GPIO引脚以输出时钟信号。这段代码是关于初始化和配置GPIO(通用输入/输出)引脚以输出不同时钟信号的。总之,这段代码的目的是将GPIO引脚25配置为输出系统时钟(这行代码将GPIO引脚25配置为输出系统时钟()的引脚,并设置输出频率为24MHz。
2024-03-05 23:20:47
451
原创 rp2040中dma传输数据的函数配置
这段描述表明DMA控制器被配置为以8位为单位进行传输,并且在每次传输后自动更新源和目标地址。由于没有选择DREQ,DMA将不受外部信号控制,而是尽可能快地进行数据传输。这段代码和注释描述了一个DMA(直接内存访问)传输的配置和流程,特别是关于控制通道和数据通道之间的交互。这里的关键点在于如何设置数据通道的寄存器,以便进行DMA传输。READ_ADDR。
2024-03-05 23:12:01
1010
原创 树莓派rp2040使用dma传输数据例子函数记录
它设置了一个PIO程序来捕获数据,并配置了一个PIO状态机来循环执行这个程序,同时根据给定的参数进行一些定制。这行定义了一个函数logic_analyser_init,它接受五个参数:PIO实例、状态机编号、引脚基础编号、引脚数量和一个浮点数(可能是时钟分频因子)。这行代码使用pio_encode_in函数为PIO生成一个指令,该指令将捕获指定数量的引脚。将捕获程序添加到PIO,并获取它在PIO程序空间中的偏移量。设置状态机的指令循环,使其始终执行之前捕获程序的指令。使用前面设置的配置初始化PIO状态机。
2024-03-03 04:51:14
480
原创 rp2040输出clock时钟程序记录
my_pio_program 数组中的指令设置了引脚低电平,延迟 500 微秒,然后设置引脚高电平,再延迟 500 微秒,然后跳回第一条指令。这会导致一个频率为 1 MHz (因为 500 微秒高电平和 500 微秒低电平等于 1 毫秒周期,所以频率是 1000 毫秒/秒 = 1 MHz) 的时钟信号。PIO_INSTRUCTION_DELAY_US(500), // 延迟 500 微秒。// 这是一个简单的 PIO 程序,它在一个无限循环中切换输出引脚的状态。// 设置状态机的程序 ID。
2024-02-14 23:45:04
425
2
原创 枚举各个编程中定义方式记录
在许多编程语言中,枚举可以被视为一个数据类型,它包含了一组有限的、预定义的、固定的值。枚举类型提供了一种有效的方法来替代在程序中使用的“魔术数字”(即没有明确含义的数字常量)。然而,这并不是真正的枚举类型。与C++类似,TypeScript中的枚举常量默认从0开始赋值,但你也可以显式地指定它们的值。(强类型枚举)来定义枚举常量,因为它提供了更好的作用域控制和类型安全性。在C语言中,枚举常量默认从0开始赋值,但是你也可以显式地指定它们的值。在Java中,枚举是一个特殊的类,它可以包含构造器、方法和实例字段。
2024-02-13 21:49:35
371
1
原创 rp2040中固件库clocks.h中一个函数的解释做一个记录
这可能是设备内部时钟的频率,或者是外部时钟源提供的频率。函数clock_configure_gpin可能是用于配置某种硬件设备上的通用输入/输出(GPIO)引脚以输出特定频率的时钟信号。enum clock_index clk_index: 这是一个枚举类型的参数,可能表示设备上的不同时钟源。配置所选的时钟源以将时钟信号路由到指定的GPIO引脚,并应用计算出的分频或乘法因子以产生所需的输出频率。uint32_t freq: 这是另一个无符号32位整数,表示用户希望GPIO引脚输出的目标时钟频率。
2024-02-13 00:11:50
390
1
原创 linux 上用arduino ide编译marlin程序,开发板是mega328pb,出现报错有一个引脚未定义,哪位大神知道??谢谢
mega328pb的一个引脚未定义
2023-12-04 22:10:04
493
原创 idea报错,jvm报错日志hs_err_pid3152
idea报错,jvm报错日志hs_err_pid3152是jvm崩溃,这个谁懂,说一下。
2023-01-22 22:35:20
2562
3
原创 keil stm32与虚拟串口联调和故障解决方法
keil stm32与虚拟串口联调和故障解决方法第一步:创建虚拟串口使用工具:Configure Virtual Serial Port Driver记住自己创建的两个虚拟串口第二步:创建debug.ini 命令执行文件Mode COM2 9600,0,8,1assign com2 S2OUT
2022-11-23 11:00:54
697
原创 freertos移植stm32f103c8t6出现编译错误,串口serial.c这个文件怎么改
我看了网上有好多需要把这个文件修改一下,我是在做串口命令终端,这个serial.c文件怎么改写
2022-09-12 14:00:18
273
原创 数据库MySQL的使用,带GUI界面
想做一个数据库存储的功能,软件使用数据库存储数据,不知可以不?感觉是不是大才小用了,软件的数据存储应该是用的文件最多,我是新手,把这个作为一个例子,下面这个是一部分,只是gui界面,没有添加其它功能,后续添加。看过软件好多的数据文件,这些文件都可以随意创建吗?package com.company;import javax.swing.*;public class shuju_ku { JFrame jf_sql1 = new JFrame("数据库参数设置"); //创建.
2022-04-21 19:13:33
1573
原创 多线程之间共享变量问题
import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ScheduledThreadPoolExecutor;public class test1 { tool t3o= new tool(); static class Scheduledtest extends Thread { p...
2022-03-22 15:03:00
1131
原创 学习java有几个月了
我现在工作中学习,感觉好无奈,没有时间,下班回家了,还要看孩子,真是人到中年,想做的事一件也做不成,想着提高一下自己,都这么难呀,还要工作养家,真是一言难尽。这样的坚持不知道可不可以。...
2022-03-22 13:17:20
299
原创 java错误:无法加载主类,找不到符号
这是两种错误,程序程序a.java在一个文件中public class a{}程序b.java在另一个文件里public class b{a a1=new a(); public void init(){ System.out.println(a1); } public static void main(String[] args){ b b2=new b(); b2.init(); }}
2021-11-18 04:06:01
204
java编写雕刻机控制软件
2023-04-20
keil stm32虚拟串口调试及故障解决方法
2022-11-23
雕刻机控制软件64位系统
2022-05-25
xrdp远程桌面连接出错
2024-08-18
编译mqrlin固件后esp32启动wifi失败
2024-06-26
marlin配置esp32wifi错误问题
2024-06-24
esp32编译marlin固件错误问题
2024-06-22
关于#嵌入式硬件#的问题:用ardino编译esp32时出错(语言-c语言)
2024-06-17
grbl限位开关配置不成功
2024-04-09
如何在使用arduino编译rp2040程序时报错?
2024-02-15
rp2040输出24mhz频率信号
2024-02-12
在用ardino编译rp2040是报错
2024-02-09
vscode搭建树莓派环景报错
2024-02-08
vscode配置rp2040问题
2024-02-08
atmega uno 移植marlin出现文本太大
2023-12-17
mega328pb编译marlin出现空间不足
2023-12-12
xblue nc78可以装am3处理器吗
2023-07-25
Git二次安装出错怎么解决
2023-04-22
步进电机控制精度问题
2023-03-02
idea报错,也不像是错误
2023-01-22
keil项目报错,stm32移植freertos
2022-12-02
机器服务于人,还是人服务于机器呐?
2022-05-10
protues8.9编译stm32f103c6程序时报错
2022-04-27
java中Jtextarea逐行读取
2022-04-01
步进电机的细分控制原理谁知道?
2022-03-26
为什么这么多人学习java?
2022-03-21
用java设计一款雕刻机控制软件
2022-03-20
cnc软件中GM代码解释器
2022-02-14
python中kivy问题
2021-06-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人