最小的基于STM32F205VE的系统板,与STM32F103Vx和STM32F407Vx兼容。
板载ST-Link V2.1,它集成了调试,串行端口,USB下载和集成。
新功能:
优化的电路设计,现在所有GPIO都映射到多达1个外设,没有IO冲突
优化电路布局
添加了一组电源接头连接到外围设备
RBG灯现在使用运放驱动器(电压跟随器模式)来减少对IO输出高频的影响
添加EEPROM芯片(AT24C02 256Byte)以快速存储应用程序数据。不再需要使用内部闪存来模拟EEPROM,从而减少了内部闪存的磨损。
添加SPI-Flash以满足持久性数据存储的需求。
LCD接口已经过重新设计,保留了对市场上大多数成品模块的支持,同时提高了可扩展性。现在,它与16位和8位8080接口LCD屏幕模块兼容。
跳线可以选择EEPROM和SPI-FLASH来启用或禁用
修复了一些错误,现在更好地支持STM32F103Vx和STM32F407Vx。
增加了安装孔,以方便定位和安装。
优化的丝网印刷,提示更清晰。
MCU功能:
32位ARM Context-M3内核,频率高达120MHz
512KB ROM + 128KB SRAM
14个计时器
三个12位ADC和两个12位DAC
FSMC功能
系统板功能:
板载ST-Link V2.1
Micro-USB接口,500mA过流保护
BOOT0开关使用拨动开关,还有一个拨动开关,用于切换内置/外部ST-Link
板载4个状态指示灯LED,一个用于编程的通用RGB LED
与大多数小型显示模块兼容的接口
Micro-SD接口
USB-FS接口
3个按钮,其中一个被重置,另外两个是用户按钮
0.47F超级电容器,RTC供电
注意:您需要另一个ST-Link来刷新板上STM32F103CBT6的ST-Link Bootloader。固件在附件中。在进行下载和编程后,通过ST-Link实用程序升级固件后,您可以使用板载ST-Link。功能。
2
1
单片机源程序如下:
- /* Includes ------------------------------------------------------------------*/
- #include "main.h"
- #include "fatfs.h"
- #include "sdio.h"
- #include "gpio.h"
- #include "fsmc.h"
- /* Private includes ----------------------------------------------------------*/
- /* USER CODE BEGIN Includes */
- #include "stdlib.h"
- #include "ILI9225.h"
- #include "fonts.h"
- /* USER CODE END Includes */
- /* Private typedef -----------------------------------------------------------*/
- /* USER CODE BEGIN PTD */
- /* USER CODE END PTD */
- /* Private define ------------------------------------------------------------*/
- /* USER CODE BEGIN PD */
- /* USER CODE END PD */
- /* Private macro -------------------------------------------------------------*/
- /* USER CODE BEGIN PM */
- /* USER CODE END PM */
- /* Private variables ---------------------------------------------------------*/
- /* USER CODE BEGIN PV */
- FATFS fs;
- /* USER CODE END PV */
- /* Private function prototypes -----------------------------------------------*/
- void SystemClock_Config(void);
- /* USER CODE BEGIN PFP */
- /* USER CODE END PFP */
- /* Private user code ---------------------------------------------------------*/
- /* USER CODE BEGIN 0 */
- /* USER CODE END 0 */
- /**
- * @brief The application entry point.
- * @retval int
- */
- int main(void)
- {
- /* USER CODE BEGIN 1 */
- /* USER CODE END 1 */
- /* MCU Configuration--------------------------------------------------------*/
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
- HAL_Init();
- /* USER CODE BEGIN Init */
- /* USER CODE END Init */
- /* Configure the system clock */
- SystemClock_Config();
- /* USER CODE BEGIN SysInit */
- /* USER CODE END SysInit */
- /* Initialize all configured peripherals */
- MX_GPIO_Init();
- MX_SDIO_SD_Init();
- MX_FATFS_Init();
- MX_FSMC_Init();
- /* USER CODE BEGIN 2 */
- ILI9225_Init();
- ILI9225_FillScreen(ILI9225_BLACK);
- uint16_t delay = 100; // 为了展示方便而加的延时
- HAL_Delay(delay);
- FRESULT rst = f_mount(&fs, "0:", 1);
- if (rst == FR_OK) {
- HAL_GPIO_WritePin(GPIOD, GPIO_PIN_9, GPIO_PIN_RESET);
- ILI9225_WriteString(0, 0, "Mount drive : OK!", FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- }
- else {
- HAL_GPIO_WritePin(GPIOD, GPIO_PIN_8, GPIO_PIN_RESET);
- ILI9225_WriteString(0, 0, "Mount drive : Failed!", FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- }
- HAL_Delay(delay);
- FILINFO fileInfo;
- fileInfo.lfsize = 255;
- fileInfo.lfname = malloc(255);
- DIR root;
- uint16_t y = 0;
- rst = f_opendir(&root, "0:");
- if (rst == FR_OK) {
- HAL_GPIO_WritePin(GPIOD, GPIO_PIN_9, GPIO_PIN_RESET);
- ILI9225_WriteString(0, (y += 12), "Listing root files : ", FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- ILI9225_WriteString(0, (y += 12), "--------------------", FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- HAL_Delay(1000);
- while (1) {
- rst = f_readdir(&root, &fileInfo);
- if (rst != FR_OK || (!fileInfo.fname[0] && !fileInfo.fname[0])) {
- break;
- }
- ILI9225_WriteString(0, (y += 12), "\\", FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- if (fileInfo.lfname[0]) {
- ILI9225_WriteString(6, (y), fileInfo.lfname, FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- }
- else {
- ILI9225_WriteString(6, (y), fileInfo.fname, FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- }
- HAL_Delay(delay);
- }
- }
- else {
- HAL_GPIO_WritePin(GPIOD, GPIO_PIN_8, GPIO_PIN_RESET);
- ILI9225_WriteString(0, 12, "Listing root files : Failed!", FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- }
- HAL_Delay(delay);
- ILI9225_WriteString(0, (y += 12), "--------------------", FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- ILI9225_WriteString(0, (y += 12), "Completed!", FONT_SONG_6X12, ILI9225_WHITE, ILI9225_BLACK);
- f_closedir(&root);
- /* USER CODE END 2 */
- /* Infinite loop */
- /* USER CODE BEGIN WHILE */
- while (1) {
- /* USER CODE END WHILE */
- /* USER CODE BEGIN 3 */
- }
- /* USER CODE END 3 */
- }
- /**
- * @brief System Clock Configuration
- * @retval None
- */
- void SystemClock_Config(void)
- {
- RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- /** Initializes the CPU, AHB and APB busses clocks
- */
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
- RCC_OscInitStruct.HSEState = RCC_HSE_ON;
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- RCC_OscInitStruct.PLL.PLLM = 20;
- RCC_OscInitStruct.PLL.PLLN = 192;
- RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
- RCC_OscInitStruct.PLL.PLLQ = 5;
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- {
- Error_Handler();
- }
- /** Initializes the CPU, AHB and APB busses clocks
- */
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
- |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
- RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK)
- {
- Error_Handler();
- }
- }
- /* USER CODE BEGIN 4 */
- /* USER CODE END 4 */
- /**
- * @brief This function is executed in case of error occurrence.
- * @retval None
- */
- void Error_Handler(void)
- {
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
程序:
STM32F205VE-SDCard.7z
(791.89 KB, 下载次数: 14)
bin文件:
STlink.zip
(9.31 KB, 下载次数: 10)
|