[技术问答] 调试管脚 SWCLK SWDIO PA15 PB3 PB4引脚复用问题

[复制链接]
 楼主| 初级工程渣 发表于 2022-9-29 22:12 | 显示全部楼层 |阅读模式
IO, PA, a15
第一次LCD显示屏没有用PA15 ,改版把它放到PA15上,发现显示屏不显示了.管脚初始化以后变成高组态模式了.
127236335a7b402d28.png

 楼主| 初级工程渣 发表于 2022-9-29 22:19 | 显示全部楼层
程序
  1. void LCD_GPIO_Init(void)
  2. {
  3.     stc_port_init_t stcPortInit;  
  4.     /*配置结构初始化*/
  5.     MEM_ZERO_STRUCT(stcPortInit);
  6.    
  7.     stcPortInit.enPinMode = Pin_Mode_Out;//输出模式
  8.     stcPortInit.enExInt =  Enable;//Enable//Disable
  9.     stcPortInit.enPullUp = Enable;//enPinDrv
  10.    
  11.     /* Port/Pin 初始化 */
  12.     PORT_Init(LCD_SI_PORT,LCD_SI_PIN, &stcPortInit);
  13.     PORT_Init(LCD_SCL_PORT,LCD_SCL_PIN, &stcPortInit);
  14.     PORT_Init(LCD_A0_PORT,LCD_A0_PIN, &stcPortInit);
  15.     PORT_Init(LCD_RES_PORT,LCD_RES_PIN, &stcPortInit);
  16.     PORT_Init(LCD_CS_PORT,LCD_CS_PIN, &stcPortInit);
  17.    
  18.     LCD_SI_L();
  19.     LCD_SCL_L();
  20.     LCD_A0_L();
  21.     LCD_RES_L();
  22.     LCD_CS_L();
  23. }
 楼主| 初级工程渣 发表于 2022-9-29 22:20 | 显示全部楼层
手册上说:
注意:
– PA13,PA14,PA15,PB3,PB4 端口复位后初始状态为 JTAG/SWD 功能有效,在配置 FSEL[5:0]
选择功能时需要先将寄存器 PSPCR 相应位写 0 无效 JTAG/SWD 功能。PC14,PC15 端口复
位后初始状态为数字功能禁止状态,在选择数字功能时需要先将相应寄存器 PCRxy 的 DDIS
位写 0 有效数字功能。
 楼主| 初级工程渣 发表于 2022-9-29 22:21 | 显示全部楼层
翻译:调试接口默认是打开的,初始化功能(普通IO,串口等)先把默认的调试口关闭.
 楼主| 初级工程渣 发表于 2022-9-29 22:22 | 显示全部楼层
需要使用的函数
244216335a9e212345.png
 楼主| 初级工程渣 发表于 2022-9-29 22:24 | 显示全部楼层
  1. extern en_result_t PORT_DebugPortSetting(uint8_t u8DebugPort, en_functional_state_t enFunc);
 楼主| 初级工程渣 发表于 2022-9-29 22:26 | 显示全部楼层
 楼主| 初级工程渣 发表于 2022-9-29 22:35 | 显示全部楼层
 楼主| 初级工程渣 发表于 2022-9-29 22:39 | 显示全部楼层
下面是重点注意
467016335ae0a4de9a.png
 楼主| 初级工程渣 发表于 2022-9-29 22:39 | 显示全部楼层
  1. void LCD_GPIO_Init(void)
  2. {
  3.         ///重点初始化
  4.     PORT_DebugPortSetting(TDI,Disable); //关闭JTDI 调试管脚
  5.     stc_port_init_t stcPortInit;  
  6.     /*配置结构初始化*/
  7.     MEM_ZERO_STRUCT(stcPortInit);
  8.    
  9.     stcPortInit.enPinMode = Pin_Mode_Out;//输出模式
  10.     stcPortInit.enExInt =  Enable;//Enable//Disable
  11.     stcPortInit.enPullUp = Enable;//enPinDrv
  12.    
  13.     /* Port/Pin 初始化 */
  14.     PORT_Init(LCD_SI_PORT,LCD_SI_PIN, &stcPortInit);
  15.     PORT_Init(LCD_SCL_PORT,LCD_SCL_PIN, &stcPortInit);
  16.     PORT_Init(LCD_A0_PORT,LCD_A0_PIN, &stcPortInit);
  17.     PORT_Init(LCD_RES_PORT,LCD_RES_PIN, &stcPortInit);
  18.     PORT_Init(LCD_CS_PORT,LCD_CS_PIN, &stcPortInit);
  19.    
  20.     LCD_SI_L();
  21.     LCD_SCL_L();
  22.     LCD_A0_L();
  23.     LCD_RES_L();
  24.     LCD_CS_L();
  25. }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

71

主题

815

帖子

1

粉丝
快速回复 返回顶部 返回列表