OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9079|回复: 6

求STM32F439芯片的串口打印信息程序

[复制链接]

21

主题

79

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2014-2-11
在线时间
0 小时
发表于 2014-2-11 17:55:13 | 显示全部楼层 |阅读模式
我有一块STM324x9I-EVAL的开发板,当我想弄一个打印trace的信息的功能时,
使用ST提供的串口驱动的文件,但是没有成功,不知道是不是还有其他的什么
东西没有配置什么的,请大家帮忙看看。

我写的代码如下:
void TraceInit(void)
{
USART_InitTypeDef uartConfig;

USART_StructInit(&uartConfig);
uartConfig.USART_BaudRate = 115200;
USART_Init(USART1, &uartConfig);
}

void TracePrintf(char *format, ... )
{
char str_temp[256];
va_list vaotr;
int i, len;
va_start(vaotr, format);
vsprintf(str_temp, format, vaotr);
va_end(vaotr);
//h83029_sci1_UART_send_string(str_temp);
len = strlen(str_temp);
for (i = 0; i < len; i++) {
USART_SendData(USART1, str_temp);
}
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-2-11 19:27:27 | 显示全部楼层
代码不全?串口初始化差很多啊
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

21

主题

79

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2014-2-11
在线时间
0 小时
 楼主| 发表于 2014-2-11 20:01:46 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
是的,我是刚用这个芯片,所以不是很熟啊。下午又看了一下,GPIO是需要配置的,
我配置了一下,但是串口还是没有输出信息,不知道还有什么问题,我用的是USART1
输出脚是PA9,我的GPIO的配置如下:

volatile unsigned int mask = 0;

mask = (~(3 << (18)));
GPIOA->MODER &= mask;

mask = (1 << (9*2));
GPIOA->MODER |= mask;

GPIOA->AFR[1] &= (~(15 << (1*4)));
GPIOA->AFR[1] |= ((7 << (1*4)));

不知道这个配置这个配置对了没有,明天再接着弄吧。
还有其他的要配置的东西吗。
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-2-11 20:19:49 | 显示全部楼层
还有USART时钟初始化,停止位,校验位等,你先看下论坛里原子哥的例程吧,再对照着改成F439的
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-2-11 22:09:33 | 显示全部楼层
用407的例程,应该可以直接使用.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

79

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2014-2-11
在线时间
0 小时
 楼主| 发表于 2014-2-12 09:22:18 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
407的例程哪里可以弄到啊
回复 支持 反对

使用道具 举报

21

主题

79

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2014-2-11
在线时间
0 小时
 楼主| 发表于 2014-2-12 09:55:11 | 显示全部楼层
找到了407的例程了,串口可以打印数据了,把我的结果代码贴出来
与大家分享:

void COM1Init(u32 BaudRate)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  USART_InitTypeDef USART_InitStructure;
  
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);  
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  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_Rx | USART_Mode_Tx; 
  USART_Init(USART1, &USART_InitStructure);
  USART_Cmd(USART1, ENABLE);
  USART_ClearFlag(USART1, USART_FLAG_TC);
}

void TracePrintfln(char *format, ... )
{
char str_temp[256];
va_list vaotr;
int i, len;
va_start(vaotr, format);
vsprintf(str_temp, format, vaotr);
va_end(vaotr);
//h83029_sci1_UART_send_string(str_temp);
len = strlen(str_temp);
for (i = 0; i < len; i++) {
USART_SendData(USART1, str_temp);
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
}

USART_SendData(USART1, '\n');
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
}

使用的时候:
COM1Init(115200);
TracePrintfln("trace function ok!");

但是还有一个问题,我要打印的字符串的第一个字符丢失了,就是说,
上面语句打印出来的结果是 "
race function ok!"。
不知道是怎么回事。







回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 18:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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