启动IAR软件,建立工程,并在工程进行编程,实现以下功能: 1.通过串口调试助手,在串口调试助手界面上显示“信息工程学院” 2.字样“信息工程学院”在调试助手界面上显示3次后停止显示。
时间: 2024-03-15 13:46:04 浏览: 84
好的,我了解您的问题。首先,您需要在IAR软件中建立一个工程。然后,您需要编写代码以实现您所需的功能。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include "stm32f10x.h"
#define USART USART1
#define BAUDRATE 115200
void USART1_Init(void);
void USART1_Puts(char *s);
void delay_us(uint32_t us);
int main(void)
{
USART1_Init();
while (1)
{
USART1_Puts("信息工程学院\r\n");
delay_us(1000000);
USART1_Puts("信息工程学院\r\n");
delay_us(1000000);
USART1_Puts("信息工程学院\r\n");
delay_us(1000000);
break;
}
while (1);
}
void USART1_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
USART_InitStructure.USART_BaudRate = BAUDRATE;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
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(USART, &USART_InitStructure);
USART_Cmd(USART, ENABLE);
}
void USART1_Puts(char *s)
{
while (*s)
{
while (USART_GetFlagStatus(USART, USART_FLAG_TXE) == RESET);
USART_SendData(USART, *s++);
}
}
void delay_us(uint32_t us)
{
uint32_t i;
for (i = 0; i < us; i++);
}
```
这段代码使用USART1和GPIOA,将“信息工程学院”字符串发送到串口调试助手中。函数`USART1_Puts()`用于发送字符串,函数`delay_us()`用于延时。在主函数中,使用三次发送,并在第三次结束后停止发送。
注意,这段代码是基于STM32F103C8T6开发板,如果您使用的是其他开发板,则需要相应地修改代码。另外,您还需要将串口调试助手与开发板连接,以便在调试助手界面上查看输出。
阅读全文