帮你测试了下三路 1K的浮点打印,也正常
我的代码如下,我使用sin函数生成的数据,然后打印的
[C] 纯文本查看 复制代码 /*
*********************************************************************************************************
*
* 模块名称 : 主程序模块。
* 文件名称 : main.c
* 版 本 : V1.0
* 说 明 : 工程调试利器SEGGER的RTT组件,替代串口调试
* 修改记录 :
* 版本号 日期 作者 说明
* V1.0 2018-04-12 armfly 首发
*
* Copyright (C), 2018-2030, 安富莱电子 [url]www.armfly.com[/url]
*
*********************************************************************************************************
*/
#include "bsp.h" /* 底层硬件驱动 */
#include "SEGGER_RTT.h"
/*
*********************************************************************************************************
* 函 数 名: main
* 功能说明: c程序入口
* 形 参:无
* 返 回 值: 错误代码(无需处理)
*********************************************************************************************************
*/
#include "math.h"
float testInput_f32_REF[1024];
float testInput_f32_REF1[1024];
int main(void)
{
uint32_t i = 0;
/*
由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。
启动文件 startup_stm32f4xx.s 会调用 system_stm32f4xx.c 中的 void SystemInit(void)。
SystemInit()函数配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。
安富莱STM32-V5开发板主晶振是25MHz, 内部PLL倍频到168MHz。如果需要更改主频,可以修改下面的文件:
\User\bsp_stm32f4xx\system_stm32f4xx.c
文件开头的几个宏是PLL倍频参数,修改这些宏就可以修改主频,无需更改硬件。
*/
bsp_Init(); /* 硬件初始化 */
bsp_StartAutoTimer(0, 1); /* 启动1个100ms的自动重装的定时器 */
for(i=0; i<1024; i++)
{
testInput_f32_REF[i] = sin(2*3.1415926f*50*i/1024);
testInput_f32_REF1[i] = sin(2*3.1415926f*20*i/1024);
}
/* 配置通道0,上行配置*/
SEGGER_RTT_ConfigUpBuffer(0, "RTTUP", NULL, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP);
/* 配置通道0,下行配置*/
SEGGER_RTT_ConfigDownBuffer(0, "RTTDOWN", NULL, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP);
bsp_SetTIMforInt(TIM6, 10000, 0, 0);
/* 进入主程序循环体 */
while (1)
{
}
}
/*
*********************************************************************************************************
* 函 数 名: TIM6_DAC_IRQHandler
* 功能说明: TIM6中断服务程序。
* 形 参: 无
* 返 回 值: 无
*********************************************************************************************************
*/
uint32_t j = 0;
char buf[64];
void TIM6_DAC_IRQHandler( void )
{
if(TIM_GetITStatus(TIM6, TIM_IT_Update) != RESET)
{
j++;
// sprintf(buf, "%f, %f, %f\r\n", testInput_f32_REF[j],testInput_f32_REF[j],testInput_f32_REF[j]);
sprintf(buf, "%f\r\n", testInput_f32_REF[j]);
SEGGER_RTT_WriteString(0, buf);
if(j==1024) j=0;
TIM_ClearITPendingBit(TIM6, TIM_IT_Update);
}
}
/***************************** 安富莱电子 [url]www.armfly.com[/url] (END OF FILE) *********************************/
|