当前位置: 首页 > news >正文

网站建站推广网站开发亿玛酷1专注

网站建站推广,网站开发亿玛酷1专注,网站地图生成工具,wordpress 获取页面标题关于GD32引脚PA13、PA15、PB3、PB4配置为普通引脚的问题 在实际开发中#xff0c;经常会遇到引脚资源受限需要将一些具有特定功能的引脚配置为普通引脚或其他引脚功能使用的情况。 博主之前遇到过类似的情况#xff0c;都正常解决了。但偶尔也会出现在配置引脚时少了一些配…关于GD32引脚PA13、PA15、PB3、PB4配置为普通引脚的问题 在实际开发中经常会遇到引脚资源受限需要将一些具有特定功能的引脚配置为普通引脚或其他引脚功能使用的情况。 博主之前遇到过类似的情况都正常解决了。但偶尔也会出现在配置引脚时少了一些配置结果导致代码运行时偶尔出现问题最终排查出了是引脚配置问题因此特地记录下来供有需求的同学参考。 以GD32F307为例在使用外置sram芯片时使用了PB3、PB4作为SPI通讯的SCK和MISO引脚。 在代码编写和调试时忽视了PB3和PB4的默认功能是JTDO和NJTRST功能直接将PB3、PB4当做普通SPI引脚使用由于我调试时一致使用JLINK连接芯片进行在线调试在这个时候sram芯片的驱动一直正常读写数据也正常也导致我再一开始没有发现这个问题。 后来交给测试人员测试功能时反馈有时候出现数据丢失的情况。博主排查后发现是sram读写数据失败导致用示波器排查波形发现在在读写sram时SCK没有时钟信号发出。博主很奇怪为何之前调试时没有出现过这种情况于是乎连接上JILNK在线调试用示波器一看果然此时sram读写数据都是SCK线上是有正常时钟发出的。。。 在这种情况下排查了数据手册datasheet上SPI相关的引脚结果发现了问题的根本所在PB3引脚默认功能为JTDOPB4引脚默认功能是NJTRST他们是JTAG调试方式时用的博主使用的是SWD的方式且这两个引脚要配置为SPI功能需要做重定向处理即将关闭这两个引脚JTAG相关功能这样配置之后测试发现一切正常了。 #define GPIO_SWJ_NONJTRST_REMAP ((uint32_t)0x00300000U | (PCF0_SWJ_CFG(1) 16)) /*! full SWJ(JTAG-DP SW-DP),but without NJTRST */ #define GPIO_SWJ_SWDPENABLE_REMAP ((uint32_t)0x00300000U | (PCF0_SWJ_CFG(2) 16)) /*! JTAG-DP disabled and SW-DP enabled */ #define GPIO_SWJ_DISABLE_REMAP ((uint32_t)0x00300000U | (PCF0_SWJ_CFG(4) 16)) /*! JTAG-DP disabled and SW-DP disabled */ #define GPIO_SPI2_REMAP ((uint32_t)0x00200000U | (AFIO_PCF0_SPI2_REMAP 16)) /*! SPI2 remapping*/代码如下 /*** brief sram spi配置* param None* retval None*/ void sram_spi_init(void) {spi_parameter_struct spi_init_struct;rcu_periph_clock_enable(RCU_GPIOB);rcu_periph_clock_enable(RCU_GPIOE);rcu_periph_clock_enable(RCU_SPI2);/* SPI2_SCK PB3* SPI2_MISOPB4* SPI2_MOSIPB5* SPI2_CS PE1* HOLD PE0*/gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP, ENABLE);/*PB3、PB4默认为JTAG引脚使用SPI需失能JTAG功能否则会导致SPI引脚功能异常如不DEBUG时SCK不产生时钟*/gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_3 | GPIO_PIN_5);//MISO引脚可配置为推挽输出、浮空输入、上拉输入皆可gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_4);gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1);//此处硬件改线占用了板子DI引脚后续硬件版本会有改动gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0);/*HOLD引脚设置为1禁用该功能*/spi_init_struct.trans_mode SPI_TRANSMODE_FULLDUPLEX;spi_init_struct.device_mode SPI_MASTER;spi_init_struct.frame_size SPI_FRAMESIZE_8BIT;spi_init_struct.clock_polarity_phase SPI_CK_PL_LOW_PH_1EDGE;//重要重要重要该SRAM芯片需要配置为时钟空闲时为低电平在第一个跳变沿采样spi_init_struct.nss SPI_NSS_SOFT;//默认为软件NSSspi_init_struct.prescale SPI_PSC_8;//注意SPI芯片支持的最高速率spi_init_struct.endian SPI_ENDIAN_MSB;spi_init(SPI2, spi_init_struct);SPI_SRAM_CS_HIGH();//初始拉高CSSPI_SRAM_HOLD_HIGH();//HOLD默认为高,禁用该功能,否则可能导致读写失败spi_enable(SPI2); }因此在使用到引脚PA13、PA15、PB3、PB4等比较特殊的引脚时一定仔细查看下手册上的定义再进行配置。
http://www.hkea.cn/news/14261329/

相关文章:

  • 建设部的官方网站单位门户网站建设方案
  • 榆垡网站建设wordpress换主题出错字幕办
  • 长沙做网站的价格wordpress会员付费系统
  • 云南网站建设维护免费建网站知乎
  • 做一个网站要多少钱公共资源交易中心官网
  • 美图秀秀在线制作照片廊坊seo外包服务
  • wordpress没有找到站点做钓鱼网站会被抓吗
  • 苏州网站建设一条龙关于苏宁易购网站建设的不足之处
  • 做网站开发旅行网站开发需求说明书
  • 网站关键词优化实验结果分析免费发广告的网站大全
  • 做国外百科知识网站wordpress 拖拽神器
  • 移动4G网站建设wordpress商城推广插件
  • 免费搭建网站平台wordpress是啥
  • 中国能源建设集团网站群1个空间做2个网站吗
  • 企业网站的设计思路建筑工程公司企业简介
  • 网站安全管理制度建设广州从化发布
  • 孟村做网站价格广州网站优化排名哪家好
  • 广东网站建站系统哪家好申请做网站要什么局
  • 做网站的技术难点常平镇网站仿做
  • 茂名seo站内优化海外全网推广
  • 福州网站推广公司百度智能云windows系统服务器建站
  • 商城网站是免费开吗国内新闻最新消息10条
  • 织梦免费购物网站做中国旅游网站的目的与必要性
  • 成都网站建设 四川冠辰科技公司南昌网站排名优化
  • 郑州制作平台网站产品创意设计
  • 网站建设除了中企动力小程序搭建挣钱
  • 网站建设项目经费的报告加强门户网站建设与管理办法
  • 正规网站建设价格2个wordpress
  • 上海营销网站推广多小企业网站建设厂家有哪些
  • 网站建设多少钱 知乎开展我国电子网站建设