STM32F407ZGT6 LQFP144 uart 打印输出

news/2025/2/19 14:38:36/

STM32F407ZGT6 +AX58100 ETHERCAT芯片软件,需要查看SSC 协议栈运行情况,UART输出状态信息。

STM32F407ZGT6 驱动库使用标准库,虽然老,但是够用。

1.STM32F407ZGT6 芯片情况

STM32F407ZGT6 作为AX58100 的主控

2.板子硬件

STM32F407ZGT6 +AX58100 ETHERCAT 从站开发板

2.0 硬件连接图

AX58100 核心板的UART 采用UART1 PB6 PB7 PIN
在这里插入图片描述

2.1 UART1配置

/*
*********************************************************************************************************
*	º¯ Êý Ãû: uart1_Init
*	¹¦ÄÜ˵Ã÷: ´®¿Ú1³õʼ»¯º¯Êý
*	ÐÎ    ²Î: 1.bound£¨´®¿Ú²¨ÌØÂÊ£©
*	·µ »Ø Öµ: ÎÞ
*********************************************************************************************************
*/ 
void uart1_Init(u32 bound)
{//GPIO¶Ë¿ÚÉèÖÃGPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE); //ʹÄÜGPIOAʱÖÓRCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//ʹÄÜUSART1ʱÖÓ
//	GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_USART1);
//	void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)//   GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);//´®¿Ú1¶ÔÓ¦Òý½Å¸´ÓÃÓ³ÉäGPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_USART1); //GPIOA9¸´ÓÃΪUSART1GPIO_PinAFConfig(GPIOB,GPIO_PinSource7,GPIO_AF_USART1); //GPIOA10¸´ÓÃΪUSART1//USART1¶Ë¿ÚÅäÖÃGPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; //GPIOA9ÓëGPIOA10GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸´Óù¦ÄÜGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	//ËÙ¶È50MHzGPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //ÍÆÍ츴ÓÃÊä³öGPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //ÉÏÀ­GPIO_Init(GPIOB,&GPIO_InitStructure); //³õʼ»¯PA9£¬PA10//USART1 ³õʼ»¯ÉèÖÃUSART_InitStructure.USART_BaudRate = bound;//²¨ÌØÂÊÉèÖÃUSART_InitStructure.USART_WordLength = USART_WordLength_8b;//×Ö³¤Îª8λÊý¾Ý¸ñʽUSART_InitStructure.USART_StopBits = USART_StopBits_1;//Ò»¸öֹͣλUSART_InitStructure.USART_Parity = USART_Parity_No;//ÎÞÆæżУÑéλUSART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//ÎÞÓ²¼þÊý¾ÝÁ÷¿ØÖÆUSART_InitStructure.USART_Mode =  USART_Mode_Tx;	//ÊÕ·¢Ä£Ê½USART_Init(USART1, &USART_InitStructure); //³õʼ»¯´®¿Ú1USART_Cmd(USART1, ENABLE);  //ʹÄÜ´®¿Ú1 //USART_ClearFlag(USART1, USART_FLAG_TC);   //½â¾öµÚÒ»¸ö×Ö½Ú¶ªÊ§ÎÊÌâ,Èç¹ûµÚÒ»¸ö×Ö½Ú¶ªÊ§¿ÉÒÔ¼ÓÉÏÕâÐÐ
}

2.1.1 UART1调用代码

#include "Dbg.h"int main(void)
{SysTick_Init();  //ʱÖÓ³õʼ»¯uart1_Init(115200);
//	  LED_Init();      //LED³õʼ»¯
//	  KEY_Init();      //°´¼ü³õʼ»¯Println("³õʼ»¯Íê³É,´òÓ¡¿ª¹ØΪ%d\r\n",Print_Switch);printf("build time is %s %s\n\r",__DATE__,__TIME__);		/* ÅäÖÃϵͳʱÖÓµ½168MHz- Çл»Ê¹ÓÃHSE¡£- ´Ëº¯Êý»á¸üÐÂÈ«¾Ö±äÁ¿SystemCoreClock£¬²¢ÖØÐÂÅäÖÃHAL_InitTick¡£*///	SystemClock_Config();//	bsp_InitUart();		/* ³õʼ»¯´®¿Ú */GPIO_Config(); /* initialize the Hardware and the EtherCAT Slave Controller */HW_Init();MainInit();bRunApplication = TRUE;do{MainLoop();extern u32 SysTick_1ms ;printf("SysTick_1ms=%d\r\n",SysTick_1ms);} while (bRunApplication == TRUE);HW_Release();return 0;}

2.2 UART1执行结果

在这里插入图片描述

3.参考

1.本地电脑工程路径:

D:\ethercat_stm32_ec01_master\AX58100从站开发板\04.软件开发指南\2.代码例程\EtherCAT例程\IO-FSMC-58100\IO-FMSC-58100\FMSC Ethercat AX58100\STM32F407 Ethercat\MDK-ARM

https://gitee.com/Notmi/stm32-standard-peripheral-libraries/tree/master/stm32%E6%A0%87%E5%87%86%E5%BA%93_03%E4%B8%B2%E5%8F%A3printf%E6%89%93%E5%8D%B0


http://www.ppmy.cn/news/403243.html

相关文章

康耐视智能相机Insight与工业相机优缺点

(Q有答疑)康耐视visionpro-使用图像处理blob实现CT1.5ms快速定位-精度杠杠的 Insnght2000:功能相对简单,应对低端应用,如产品有无检测。 Insight5000:逐渐被7000系列取代。 Insight8000:与7000系列同属Micro系列,体积小,功能全面&…

微信6.7.4 ios12 软键盘收回时页面不回弹,导致光标位置错乱,再次点击输入框区域时无法focus

https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800 https://blog.csdn.net/qq_23370345/article/details/84757505 参考上述文章,可解决,补充多个输入框处理方法: /* 问题: ios12,微信6.…

auto-focus

Hi there! As I verified, this camera doesn’t appear to have auto-focus. However, it has a particular spec named “focus_auto” which is bool and set to 1 by default. Can you tell me the meaning of this? Another question is related to camera resolution. I…

ICV:中国市场车载CMOS图像传感器(CIS)的市场规模有望在2026年突破20亿美元

近年来,汽车CMOS图像传感器(CIS)在汽车行业得到了极大关注,CIS已经成为高级辅助驾驶传感器系统的重要组成部分。CIS技术使得更小、更高效、更经济的车载视觉传感器被开发并且量产。与另一种图像传感技术CCD相比,CIS具有…

输入法中英文状态悬浮提示,利用AutoHotkey实现【转载】+我的使用感受

下载网址 AutoHotkey 安装之后新建一个txt文件,把代码复制进去,另存为.ahk文件,双击运行这个ahk文件即可。 原代码 输入法状态提示,中文状态提示“中”,英文状态提示“EN”,切换中英文状态的时候&#…

Nginx的安装和配置

下载 访问官网:https://nginx.org/ 点击最新的版本下载, 进入详情页,选择下载任意版本 解压编译安装 tar zxvf nginx-1.22.1.tar.gz解压之后得到文件夹 nginx-1.22 安装之前保证使用的工具和库存在 # 安装gcc yum install -y gcc # 安装…

Fuchsia 是什么?Fuchsia OS 的未来如何?

今天意外地看到 Fuchsia 系统即将进入 “dogfood” 测试,也就是开发者已经对系统开始亲自测试的阶段,未来不远就可能进入公开测试阶段了,这对于 Flutter 开发者来说算是一个好消息。 Fuchsia 是 Google 开发的继 Android 和 ChromeOS 之后的第…

vue动态插入和移除组件

例子: 业务需求 页面有N个input标签,每个input获取焦点的同时在input下方显示一个组件快捷输入 常见方式 使用v-if,在遍历input的时候,同时也遍历快捷输入的组件。但是每个快捷输入的组件都需要一个变量去控制显示/隐藏。如果页面input数量多,就很麻烦…