分享一款可兼容替换STM32F030C8T6的灵动MM32F031C8T6

通用MCU MM32F031C8T6使用高性能的ARM内核M0的32位微控制器,工作频率最高可达72兆赫兹,内置高速存储器,拥有丰富的增强型I/O端口和外设连接到外部总线。包含1个12位的ADC、1个16位通用定时器、1个32位通用定时器、3个16位基本定时器、1个16位高级定时器。还包含标准的通信接口:1个I2C接口、1个SPI接口和1个UART接口。工作电压为2.0V5.5V,工作温度范围包含-40◦C+85◦C常规型和-40◦C~+105◦C扩展型。多种省电工作模式保证低功耗应用的要求。

MM32F031C8T6提供了5种封装形式,其中包括LQFP48、LQFP32、QFN32、QFN20和TSSOP20;可根据不同的封装形式,器件中的外设配置不尽相同。灵动该型号可替换兼容STM32F030C8T6,是完美兼容替换STM32F030C8T6的优先选择。

MM32F031C8T6产品特性
•内核与系统
–32位ARMCortexTM-M0处理器内核
–最高工作频率可达72MHz
–单指令周期32位硬件乘法器
•存储器
–高达32K字节的闪存程序存储器
–高达4K字节的SRAM
–Bootloader支持片内Flash、在线系统编程(ISP)
•时钟、复位和电源管理
–2.0V~5.5V供电
–上电/断电复位(POR/PDR)、可编程电压监测器(PVD)
–外部2~24MHz高速晶体振荡器
–内嵌经出厂调校的48/72MHz高速振荡器
–内嵌40KHz低速振荡器
•低功耗
–睡眠、停机和待机模式

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
下面是灵动mm32f103c8t6串口例程的代码: ```c #include "gd32f10x.h" #include "stdio.h" /* 定义串口1的GPIO引脚以及USART外设 */ #define USART_GPIO_PORT GPIOA #define USART_GPIO_CLK RCU_GPIOA #define USART_TX_PIN GPIO_PIN_9 #define USART_RX_PIN GPIO_PIN_10 #define USARTx USART1 #define USART_CLK RCU_USART1 /* 定义波特率为115200 */ #define USART_BAUDRATE 115200 int fputc(int ch, FILE *f); void usart1_init(void); int main(void) { /* 设置系统时钟为48MHz */ SystemInit(); /* 初始化串口 */ usart1_init(); while (1) { /* 向串口发送字符串 */ printf("Hello, world!\r\n"); delay_ms(1000); } return 0; } /** * @brief 串口1初始化函数 * @retval None */ void usart1_init(void) { /* 使能GPIO时钟 */ rcu_periph_clock_enable(USART_GPIO_CLK); /* 配置 USART1_TX 为推挽输出 */ gpio_init(USART_GPIO_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, USART_TX_PIN); /* 配置 USART1_RX 为上拉输入 */ gpio_init(USART_GPIO_PORT, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, USART_RX_PIN); /* 使能USART时钟 */ rcu_periph_clock_enable(USART_CLK); /* 配置USART参数:波特率115200、8数据位、1个停止位、无校验位 */ usart_deinit(USARTx); usart_baudrate_set(USARTx, USART_BAUDRATE); usart_word_length_set(USARTx, USART_WL_8BIT); usart_stop_bit_set(USARTx, USART_STB_1BIT); usart_parity_config(USARTx, USART_PM_NONE); usart_hardware_flow_rts_config(USARTx, USART_RTS_DISABLE); usart_hardware_flow_cts_config(USARTx, USART_CTS_DISABLE); usart_receive_config(USARTx, USART_RECEIVE_ENABLE); usart_transmit_config(USARTx, USART_TRANSMIT_ENABLE); /* 使能USART */ usart_enable(USARTx); } /** * @brief 重定向fputc函数 * @param[in] ch 输出字符 * @param[in] f 输出流 * @retval 输出字符 */ int fputc(int ch, FILE *f) { /* 等待发送缓冲区为空 */ while (!(USARTx->STAT & USART_STAT_TBE)); /* 将数据写入USART数据寄存器 */ usart_data_transmit(USARTx, (uint8_t)ch); return ch; } ``` 在这个例程中,我们使用USART1作为串口,将其连接到对应的GPIO引脚上。然后,通过调用usart1_init函数来初始化USART1,配置波特率、数据位、停止位、校验位等参数,并将USART1启用。 使用printf向串口发送数据时,我们可以通过重定向fputc函数来将输出从控制台移到USART1上。在实现fputc函数中,我们将输出数据写入USART数据寄存器,并在等待发送缓冲区为空之后再返回发送成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EVERSPIN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值