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

支付网站开发建设费用怎么入账商城网站功能模块有哪些

支付网站开发建设费用怎么入账,商城网站功能模块有哪些,国内比百度好的搜索引擎,甘肃兰州做网站关于GD32引脚PA13、PA15、PB3、PB4配置为普通引脚的问题 在实际开发中,经常会遇到引脚资源受限需要将一些具有特定功能的引脚配置为普通引脚或其他引脚功能使用的情况。 博主之前遇到过类似的情况,都正常解决了。但偶尔也会出现在配置引脚时少了一些配…

关于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引脚默认功能为JTDO,PB4引脚默认功能是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_MISO:PB4* SPI2_MOSI:PB5* 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.yayakq.cn/news/362613/

相关文章:

  • wordpress建立外贸网站东莞品牌网站制作公司
  • 零售网站有哪些平台开发公司管理规章制度
  • 自己做视频直播网站深圳市保障性住房轮候申请系统
  • 东莞塘厦网站制作接网站制作
  • 天津市网站建站制作南京网站开发推南京乐识
  • 网站建设实训小组报告wordpress更改了连接打不开
  • 南宁网站建设nayuwang新商盟显示 检查网站开发错误呢
  • wordpress数据库配置页面云优化
  • 大同做网站网站建设中最有效网站推广方式
  • 六站合一的优势备案网站名称与实际网站名称不一致
  • ps做图软件怎么下载网站网页制作基础教程第2版答案
  • 做电商在什么网站上海手机网站开发
  • 网站拓展关键词怎么做手机设置管理网站
  • 凡科代理平台自适应网站 seo怎么做
  • 学网站ui设计济南 网站优化
  • 运用vs2010c 做网站西安十大网络公司排名
  • php制作招聘网站外贸建站模板免费
  • 网站推广效益怎么分析网页设计目的怎么写
  • 淮北专业三合一网站开发网络营销的应用
  • 十度公司做网站怎么样wordpress积分插件中文免费下载
  • 怎么建设手机网站网站策划专有技术
  • 微信网页宣传网站怎么做的东莞龙岗网站建设
  • 网站设计与管理方向龙岩天宫山有几个台阶
  • 广州网站建设 知名二级域名可以做网站
  • 天津公司网站建设凉山州建设局网站
  • 网站上社保做增员怎么做网站策划名词解释
  • 网站直播怎么做的苏州市工程造价信息网
  • 网页制作制作网站八度 网站建设
  • 建一个网站带管理需要多少钱一年开发公司一季度汇报
  • 如何做网站meta设置vs2012 做网站教程