|
今天学习stm32f107串口部分的时候,编写了一个只发送数据的程序,但是,它返回电脑的都是“?”,这个是为什么啊?谁能帮小弟解决一下啊?,不胜感激……
源程序如下,求帮助……
#include "stm32f10x.h"
void Dis_Init ( void ) //四个LED的初始化,LED1,2,3,4分别接在PD2,PD3,PD4,PD7
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOD, ENABLE );
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init ( GPIOD, &GPIO_InitStructure );
}
void USART1_Init ( void )
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOA, ENABLE ); //使能GPIOA的时钟
RCC_APB2PeriphClockCmd ( RCC_APB2Periph_AFIO, ENABLE );
RCC_APB2PeriphClockCmd ( RCC_APB2Periph_USART1, ENABLE ); //使能串口1的时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA9设置为输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHz
GPIO_Init ( GPIOA, &GPIO_InitStructure );
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //PA10设置为输入
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空输入
GPIO_Init ( GPIOA, &GPIO_InitStructure );
USART_InitStructure.USART_BaudRate = 256000; //设置波特率
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_Mode_Rx; //使用接受和发送功能
USART_Init ( USART1, &USART_InitStructure ); //初始化串口1
USART_Cmd ( USART1, ENABLE ); //使能串口1
}
void delay ( u32 count )
{
for ( ; count != 0; count -- );
}
void printf ( u16 dat )
{
USART_SendData ( USART1, dat ); //发送数据
while ( USART_GetFlagStatus ( USART1, USART_FLAG_TXE ) == RESET ); //等待数据发送完毕
}
int main ( void )
{
u16 temp = 0;
Dis_Init ();
USART1_Init ();
while (1) //死循环
{
GPIO_SetBits ( GPIOD, GPIO_Pin_2 ); //指示灯
printf ( temp );
temp ++;
GPIO_ResetBits ( GPIOD, GPIO_Pin_2 );
delay ( 0x1fffff );
}
}
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|