前言

FR306x-C 系列芯片是低功耗,高安全性的高性能无线 MCU,内置了蓝牙 BR/EDR/BLE 的收发器和控制器,以及 CAN FD 总线控制器,非常适合应用在工业和汽车电子等广泛领域。

官网查阅资料:

资料下载:https://www.freqchip.com/sjds
开发板:富芮坤FR3068x-C开发板拆箱外观: image.png 开发板上电: image.png
上手体验第一步,准备相关软件工具,一定要使用官方推荐的MDK5.36以上版本,之前用MDK5.33版本试过,程序在初始化时钟的时候会跑飞。(MDK程序下载算法添加:复制fr30xxc_sdk__202411\components\tools\keil下的flm文件到X:\Keil_v5\ARM\Flash),安装Python相关环境,MDK编译中有用。然后打开SDK中\examples\peripheral_demo\gpio\MDK-ARM中Project.uvprojx,点击MDK中查看开发板自带DAPLink是否能检测到,然后修改Flash起始地址0x08002000,修改后编译。编译后会生成Project.bin。 image.png image.png 然后硬件测试LED功能:  /* init GPIO CLOCK */

    __SYSTEM_GPIOB_CLK_ENABLE();

        __SYSTEM_GPIOD_CLK_ENABLE();

    __SYSTEM_GPIO_CLK_SELECT_COREH();

    printf("gpio clock:%d\r\n", system_get_peripheral_clock( PER_CLK_GPIOx));

    switch(fe_Demo)

    {

        case GOIO_OUTPUT:

        {

                     GPIO_Handle.Pin  = GPIO_PIN_14|GPIO_PIN_15;

                     GPIO_Handle.Mode = GPIO_MODE_OUTPUT_PP;

                     GPIO_Handle.Pull = GPIO_PULLUP;

                     gpio_init(GPIOD, &GPIO_Handle);

            while(1)

            {

                gpio_write_pin(GPIOD, GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_SET);

                system_delay_us(1000000);

                gpio_write_pin(GPIOD, GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_CLEAR);

                system_delay_us(1000000);              

            }


        }

然后点击编译,烧录到开发板上,LED每秒闪烁一次。

定义串口Uart3 DMA:

    /* Uart3 IO init */

    GPIO_Handle.Pin       = GPIO_PIN_4|GPIO_PIN_5;

    GPIO_Handle.Mode      = GPIO_MODE_AF_PP;

    GPIO_Handle.Pull      = GPIO_PULLUP;

    GPIO_Handle.Alternate = GPIO_FUNCTION_1;

    gpio_init(GPIOB, &GPIO_Handle);

    __SYSTEM_UART_CLK_SELECT_COREH();   

    Uart3_handle.UARTx = UART3;

    Uart3_handle.Init.BaudRate   = 9600;

    Uart3_handle.Init.DataLength = UART_DATA_LENGTH_8BIT;

    Uart3_handle.Init.StopBits   = UART_STOPBITS_1;

    Uart3_handle.Init.Parity     = UART_PARITY_NONE;

    Uart3_handle.Init.FIFO_Mode  = UART_FIFO_ENABLE;

    uart_init(&Uart3_handle);

    printf("SystemCoreClock:%d\r\n", system_get_CoreClock());

    printf("SystemDSPClock:%d\r\n", system_get_DSPClock());

    printf("System_CORE_HSCLK:%d\r\n", system_get_CORE_HSCLK());

    printf("System_SPLLCLK:%d\r\n", system_get_SPLLCLK());

    printf("System_AUPLLCLK:%d\r\n", system_get_AUPLLCLK());

    uart_demo(UART_TRANSMIT_RECEIVE_DMA);

总结:完成功能测试, image.png