gd32关于IO引脚配置的一些问题
一、gd32f103的PA15问题
1、

#define GPIO_SWJ_NONJTRST_REMAP ((uint32_t)0x00300100U) /*!< full SWJ(JTAG-DP + SW-DP),but without NJTRST */
#define GPIO_SWJ_SWDPENABLE_REMAP ((uint32_t)0x00300200U) /*!< JTAG-DP disabled and SW-DP enabled */
#define GPIO_SWJ_DISABLE_REMAP ((uint32_t)0x00300400U) /*!< JTAG-DP disabled and SW-DP disabled */ gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP, ENABLE); // 该情况下PA15,PB3,PB4可作普通GPIO使用;
【ref】https://blog.csdn.net/qq_34152804/article/details/118584370
2、原本PA15已经用于红外通信功能

void pwm_timer1_config(void)
{timer_ic_parameter_struct timer_icinitpara;timer_oc_parameter_struct timer_ocintpara;timer_parameter_struct timer_initpara;// clockrcu_periph_clock_enable(RCU_GPIOA);rcu_periph_clock_enable(RCU_GPIOB);rcu_periph_clock_enable(RCU_AF);rcu_periph_clock_enable(RCU_TIMER1);gpio_pin_remap_config(GPIO_TIMER1_FULL_REMAP, ENABLE);/*Configure PA15 PB3 PB10 PB11(TIMER1 CH0 CH1 CH2 CH3) as alternate function*/gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_15); // 红外通信
【attention】1和2代码同时存在情况下,PA15依然可作为普通IO口输入检测(即便是又经过gpio_pin_remap_config(GPIO_TIMER1_FULL_REMAP, ENABLE)的二次重映射),已验证有效;
但是即便生效,也不能同时用于光耦检测和红外通信两个功能上,很明显会相互干扰;
Q&A :这种重映射会有多个功能options时,它们之前是如何distinguish的?还是说这几个选项功能会同时存在生效?
二、PC6问题

void cap_timer7_init(void)
{timer_parameter_struct timer_initpara;timer_ic_parameter_struct timer_icinitpara;// timer_oc_parameter_struct timer_ocintpara;//clockrcu_periph_clock_enable(RCU_TIMER7);rcu_periph_clock_enable(RCU_AF); rcu_periph_clock_enable(RCU_GPIOC);// GPIOgpio_init(GPIOC, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_6); // 红外通信
【attention】PC6原被复用为TIMER7_CH0功能,在多个复用选项时如何区分?虽然已经把PC6复用为TIMER7_CH0,但是依然可作为普通io输入检测,已验证;
相关文章:
gd32关于IO引脚配置的一些问题
一、gd32f103的PA15问题 1、 #define GPIO_SWJ_NONJTRST_REMAP ((uint32_t)0x00300100U) /*!< full SWJ(JTAG-DP SW-DP),but without NJTRST */ #define GPIO_SWJ_SWDPENABLE_REMAP ((uint32_t)0x00300200U) /*!< JTAG-DP disabled and SW-DP enab…...
QT小记:警告Use multi-arg instead
"Use multi-arg instead" 是一个提示,建议使用 QObject::tr() 函数的多参数版本来处理多个占位符,而不是使用单参数版本。 在 Qt 中,tr() 是用于进行文本翻译(国际化)的函数。它允许你在应用程序中使用多种…...
皮肤性病科专家谭巍主任提出HPV转阴后饮食七点建议
HPV转阴是每一位感染者都期盼的,因为转阴所以健康,只有转为阴性才意味着不具备传染性,从此也不必再害怕将病毒传染给家人的风险,也不必再担忧持续感染而引发的健康风险。总之,HPV转阴是预示感染者恢复健康与否的主要标…...
快速弄懂C++中的智能指针
智能指针是C中的一个对象,它的行为类似于指针,但它提供了自动的内存管理功能。当智能指针超出作用域时(比如说在函数中使用智能指针指向了一个对象,当该函数结束时会自动销毁该对象),它会自动删除其所指向的…...
C#调用C++ dll教程
文章目录 一、创建C dll项目二、C#程序员调用C dll三、C与C#数据类型对应基本数据类型对应表C指针类型与C#类型 在使用C#开发客户端时,有时需要调用C dll,本篇博客来介绍C#程序如何调用C dll。 一、创建C dll项目 首先使用VS2022创建C dll项目…...
计算机毕设 深度学习 大数据 股票预测系统 - python lstm
文章目录 0 前言1 课题意义1.1 股票预测主流方法 2 什么是LSTM2.1 循环神经网络2.1 LSTM诞生 2 如何用LSTM做股票预测2.1 算法构建流程2.2 部分代码 3 实现效果3.1 数据3.2 预测结果项目运行展示开发环境数据获取 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要…...
97.qt qml-自定义Table之实现ctrl与shift多选
我们之前实现了:93.qt qml-自定义Table优化(新增:水平拖拽/缩放自适应/选择使能/自定义委托)-CSDN博客 实现选择使能的时候,我们只能一行行去点击选中,非常麻烦,所以本章我们实现ctrl多选与shift多选、 所以在Table控件新增两个属性: 1.实现介绍 ctrl多选实现原理:当我…...
运行软件报错mfc140.dll丢失?分享mfc140.dll丢失的解决方法
小伙伴们,你是否也有过这样的经历:每当碰到诸如" mfc140.dll 丢失 "之类的烦人错误时,你是不是会一头雾水,完全不知道从何下手去解决?不要担心,接下来咱就给你提供这样一篇实用教程,教…...
milvus数据库-连接
Milvus 支持 19530 和 9091 两个端口: 端口 19530 用于 gRPC 和 RESTful API。 这是您使用不同 Milvus SDK 或 HTTP 客户端连接到 Milvus 服务器时的默认端口。 端口 9091 用于 Kubernetes 内的指标收集、pprof 分析和运行状况探测。 它用作管理端口。 1.连接到数…...
ios + vue3 Teleport + inset 兼容性问题
目录 1,问题表现2,解决步骤1,teleport 的问题2,inset 的问题3,teleport 的问题之二 1,问题表现 使用 vue3 的 Teleport 实现的 dialog 弹窗,但是在 ios app 中嵌套的 h5 中无法打开。 直接在io…...
计蒜客T1654 数列分段(C语言实现)
【题目描述】对于给定的一个长度为n的正整数数列ai,现要将其分成连续的若干段,并且每段和不超过m(可以等于m),问最少能将其分成多少段使得满足要求。 【输入格式】第一行包含两个正整数n,m,表示…...
Linux进程——system函数、popen函数
system函数(执行shell 命令) 头文件 #include <stdlib.h> 函数定义 int system(const char * string); 函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,…...
【智能家居】5、主流程设计以及外设框架编写与测试
目录 一、主流程设计 1、工厂模式结构体定义 (1)指令工厂 inputCmd.h (2)外设工厂 controlDevices.h 二、外设框架编写 1、创建外设工厂对象bathroomLight 2、编写相关函数框架 3、将浴室灯相关操作插入外设工厂链表等待被调…...
详解ssh远程登录服务
华子目录 简介概念功能 分类文字接口图形接口 文字接口ssh连接服务器浅浅介绍一下加密技术凯撒加密加密分类对称加密非对称加密非对称加密方法(也叫公钥加密) ssh两大类认证方式:连接加密技术简介密钥解析 ssh工作过程版本协商阶段密钥和算法…...
LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄
接着前两节的Langchain,继续实现Langchain中的Agent LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字 代码实现 # 从langchain库中导入模块 from langchain.llms import OpenAI # 从langchain.l…...
wpf devexpress绑定grid到总计和分组统计
此主题描述了如何在gridcontrol中的视图模型和显示定义总计和分组统计 在视图模型中指定统计 1、创建 SummaryItemType 枚举你想要在GridControl中显示的统计类型: public enum SummaryItemType { Max, Count, None } 2、创建一个grid统计描述类 public class S…...
嵌入式 Linux 移植与系统启动方法
1、Linux系统启动与U-Boot 所谓移植就是把程序代码从一种运行环境转移到另一种运行环境。对于内核移植来说,主要是从一种硬件平台转移到另一种硬件平台上运行。 体系结构级别的移植是指在不同体系结构平台上Linux内核的移植,例如,在ARM、MI…...
代码随想录算法训练营|五十六天
回文子串 647. 回文子串 - 力扣(LeetCode) dp含义:表示区间内[i,j]是否有回文子串,有true,没有false。 递推公式:当s[i]和s[j]不相等,false;相等时,情况一,…...
基于django水果蔬菜生鲜销售系统
基于django水果蔬菜生鲜销售系统 摘要 基于Django的水果蔬菜生鲜销售系统是一种利用Django框架开发的电子商务平台,旨在提供高效、便捷的购物体验,同时支持水果蔬菜生鲜产品的在线销售。该系统整合了用户管理、产品管理、购物车、订单管理等核心功能&…...
【数据结构】快速排序算法你会写几种?
👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:数据结构 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵 希望大佬指点一二 如果文章对你有帮助…...
告别FTP客户端工具:手把手教你用Qt写一个带进度条的FTP上传器
用Qt打造企业级FTP上传模块:从进度监控到断点续传实战 在工业自动化、医疗影像传输等专业领域,文件传输的可靠性和可视化程度直接影响用户体验。传统FTP客户端往往功能单一,无法与企业自有系统深度集成。本文将带你用Qt的QNetworkAccessManag…...
Liquibase,数据库无关的版本控制工具!
在现代软件开发中,数据库的版本控制往往比代码版本控制更具挑战性。不同的开发环境、测试环境、生产环境可能使用不同的数据库产品(如开发用H2、测试用MySQL、生产用PostgreSQL),而传统的SQL脚本往往包含特定数据库的方言…...
别再到处找接口了!手把手教你用阿里云盘+Alist搭建自己的TVBox影视仓(附JSON配置模板)
私有影视仓搭建实战:用阿里云盘Alist打造专属TVBox资源库 每次打开TVBox却发现公共接口失效?第三方资源突然无法访问?与其在各大论坛反复搜索不稳定接口,不如用两小时搭建一个完全私有的影视管理系统。本文将彻底改变你获取影音资…...
SOLIDWORKS自定义属性模板制作全攻略:从零开始驱动模型参数
SOLIDWORKS自定义属性模板制作全攻略:从零开始驱动模型参数 在机械设计领域,SOLIDWORKS作为主流的三维CAD软件,其自定义属性功能往往被初学者低估。想象一下这样的场景:当你需要批量修改上百个零件的材料规格时,是否还…...
告别重复造轮子:用快马AI一键生成Unity高效开发工具与通用模块
告别重复造轮子:用快马AI一键生成Unity高效开发工具与通用模块 在Unity游戏开发过程中,UI管理系统是最基础也最常被重复开发的模块之一。每次新项目都要从头搭建UI框架,不仅浪费时间,还容易引入不一致的设计模式。最近我在InsCod…...
VibeVoice API接口调用案例:WebSocket流式通信实测
VibeVoice API接口调用案例:WebSocket流式通信实测 1. 项目概述 VibeVoice 是一个基于微软开源模型的实时语音合成系统,能够将文本内容快速转换为高质量的语音输出。这个系统特别适合需要实时语音交互的应用场景,比如语音助手、有声读物制作…...
忍者像素绘卷一文详解:Z-Image-Turbo加速模型+Masashi Kishimoto风格注入
忍者像素绘卷一文详解:Z-Image-Turbo加速模型Masashi Kishimoto风格注入 1. 创作理念与技术亮点 忍者像素绘卷是一款革命性的图像生成工具,它将传统忍者漫画的热血精神与现代AI技术完美结合。这款工具基于Z-Image-Turbo深度优化,专为16-Bit…...
ESP32-WROOM-32E开发板快速上手:5分钟搞定Arduino环境配置与LED灯控制
ESP32-WROOM-32E开发板极速入门:5分钟玩转LED控制 刚拿到ESP32-WROOM-32E开发板时,最让人兴奋的莫过于立刻让它"活"起来。作为乐鑫推出的明星级物联网开发板,它集Wi-Fi/蓝牙双模、丰富外设接口和超低功耗于一身,而Ardui…...
如何突破语言壁垒?Translumo带来的实时翻译新体验
如何突破语言壁垒?Translumo带来的实时翻译新体验 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 在全球化的数…...
ClearerVoice-Studio语音分离实用技巧:分离后各声道说话人身份标注方法
ClearerVoice-Studio语音分离实用技巧:分离后各声道说话人身份标注方法 你是不是也遇到过这种情况?用语音分离工具把一段多人对话音频分成了几个独立的声道,结果看着一堆命名为“output_1.wav”、“output_2.wav”的文件,完全搞不…...
