[STM32C0] 【STM32c031】开箱评测+adc测试

[复制链接]
1652|3
 楼主| 电子烂人 发表于 2024-4-25 19:36 | 显示全部楼层 |阅读模式
本帖最后由 电子烂人 于 2024-4-25 19:36 编辑

#申请原创# 很荣幸收到21IC的C031开发板,感谢21IC小跑堂和各位伙伴的支持和帮助。之前C031刚发布的时候就已经对该开发板有很高的关注度,ST给出的定位是:“取代8位单片机”,可以看到这是一个面向价格敏感型消费端的芯片产品。值得注意的是,C0系列不属于ST的“超低功耗系列MCU”产品线,而是属于ST的“主流MCU”,足以见得ST对这片芯片的重视。
此外,ST还为C0系列产品生产了一系列教程,方便习惯使用8/16位单片机的工程师入门。
微信截图_20240425164859.png
微信截图_20240425164917.png
网站链接:STM32C0x1 - 意法半导体STMicroelectronics
最近在忙着做ADC测量相关仪器的产品,所以这次用C031-NUCLEO开发板试制作一个ADC角度测量仪

1.环境及初始化:
这次的开发环境选择为广大工程师习惯使用的MDK5-arm,各功能的初始化使用STM32cubeMX
在“BOARD SELECT”中选择nucleo-c031开发板,配置时钟主频为48MHZ(习惯拉满)。
微信截图_20240425170003.png
开发板的两个晶振全部焊接,故将时钟选择为“外部陶瓷/晶体震荡”,提高时钟稳定性。
实际开发中如果对成本敏感的话,也可以选择使用C0系列自带的“内部时钟”。
微信截图_20240425170024.png
使能DEBUG,方便后续调试。
微信截图_20240425170051.png
接口部分保留一组UART和SPI,方便外接屏幕和数据输出。
微信截图_20240425170847.png
ADC部分,设置为12BIT采样率,开启“持续采集”
微信截图_20240425170116.png
配置完毕后,选择MDK环境生成代码。
2.代码配置:打开生成的工程如图:
微信截图_20240425173655.png
在变量栏配置变量如下:
  1. /* USER CODE BEGIN PFP */
  2. <blockquote>uint16_t adc_start_num;
配置任务函数,开启ADC采集
  1. /* USER CODE BEGIN 0 */
  2. uint16_t ADC_Get_Task(uint16_t adcVal);
  3. /* USER CODE END 0 */
主函数循环如下:
  1. int main(void)
  2. {
  3.   HAL_Init();

  4.   SystemClock_Config();

  5.   MX_GPIO_Init();
  6.   MX_SPI1_Init();
  7.   MX_ADC1_Init();
  8.   MX_USART1_UART_Init();
  9. <blockquote>/* USER CODE BEGIN 2 */
3.实物插接线如图
微信图片_20240425175024.jpg
电位器两端1、3接电源和地,2号端子接A0进行ADC采集
4.效果展示



entest 发表于 2024-4-29 11:20 | 显示全部楼层
学习中
micoccd 发表于 2024-4-29 15:11 | 显示全部楼层
实现效果很好
yellow555 发表于 2024-4-29 21:06 来自手机 | 显示全部楼层
C0系列不属于ST的“超低功耗系列MCU”产品线,而是属于ST的主流MCU
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

75

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部