这是本文档旧的修订版!
| 银杏科技有限公司旗下技术文档发布平台 | |||
| 技术支持电话 | 0379-69926675-801 | ||
| 技术支持邮件 | Gingko@vip.163.com | ||
| 技术论坛 | http://www.eeschool.org | ||
| 版本 | 日期 | 作者 | 修改内容 |
|---|---|---|---|
| V1.0 | 2020-12-03 | gingko | 初次建立 |
1.在主界面选择File–>New Project或者直接点击ACCEE TO MCU SELECTOR
2.出现芯片型号选择,搜索自己芯片的型号,双击型号,或者点击Start Project进入配置在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号等等,可以帮助你查找芯片。本实验选取的芯片型号为:STM32F429IGHx。
3.配置RCC,使用外部时钟源
4.调试选择Serial Wire,时基源选择SysTick
5.将PI3,PI4,PH14设置为GPIO_Output
引脚模式配置
6.设置串口
7.时钟源设置,选择外部高速时钟源,配置为最大主频
8.工程文件的设置, 这里就是工程的各种配置我们只用到有限几个,其他的默认即可IDE我们使用的是MDK V5.27
9.点击Code Generator,进行进一步配置
(1)获取DSP库
(2)DSP库简介
最后,为了能够使用DSP库的所有功能,还需要添加以下几个全局宏定义
1.主函数
int main(void)
{
int i,j;
int res;
int time[2];
static int error_flag = 0;
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_UART_Init();
usart1.initialize(115200);
usart1.printf("\x0c"); //清屏
usart1.printf("\033[1;32;40m"); //设置终端字体为绿色
usart1.printf("Hello, I am iCore3L!\r\n\r\n");
usart1.printf("DSP BasicMath TEST......\r\n");
while (1)
{
uwTick = 0;
for(j = 0;j < 10000;j++)
{
for(i = 0;i < MAX_BLOCKSIZE;i ++)
{
res = SinCos_Test(testInput_f32[i],0);
if(res != 0)error_flag ++;
}
}
time[0] = HAL_GetTick();
uwTick = 0;
for(j = 0;j < 10000;j++)
{
for(i = 0;i < MAX_BLOCKSIZE;i ++)
{
res = SinCos_Test(testInput_f32[i],1);
if(res != 0)error_flag ++;
}
}
time[1] = HAL_GetTick();
if(error_flag == 0)
{
usart1.printf("*NO DSP MATHLIB runtime:%dms *USE DSP MATHLIB runtime:%dms\r",time[0], time[1]);
LED_GREEN_ON;
}
else
{
usart1.printf("Error\r");
LED_RED_ON;
}
}
}
2.SinCos_Test函数