/** ****************************************************************************** * @file Lib_DEBUG/RunTime_Check/main.c * @author MCD Application Team * @version V3.5.0 * @date 08-April-2011 * @brief Main program body ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * *

© COPYRIGHT 2011 STMicroelectronics

****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm32f10x.h" #include "stm32f10x_ip_dbg.h" #include "stm32_eval.h" #include /** @addtogroup STM32F10x_StdPeriph_Examples * @{ */ /** @addtogroup Lib_DEBUG_RunTime_Check * @{ */ /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ USART_InitTypeDef USART_InitStructure; /* Private function prototypes -----------------------------------------------*/ #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif /* __GNUC__ */ /* Private functions ---------------------------------------------------------*/ /** * @brief Main program. * @param None * @retval None */ int main(void) { /*!< At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup file (startup_stm32f10x_xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f10x.c file */ GPIO_InitTypeDef GPIOA_InitStructure; /* USARTx configured as follow: - BaudRate = 115200 baud - Word Length = 8 Bits - One Stop Bit - No parity - Hardware flow control disabled (RTS and CTS signals) - Receive and transmit enabled */ USART_InitStructure.USART_BaudRate = 115200; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; STM_EVAL_COMInit(COM1, &USART_InitStructure); /* Initialize all peripherals pointers */ debug(); printf("\r\n STM32F10x Firmware Library compiled with FULL ASSERT function... \n\r"); printf("...Run-time checking enabled \n\r"); /* Simulate wrong parameter passed to library function ---------------------*/ /* To enable SPI1 clock, RCC_APB2PeriphClockCmd function must be used and not RCC_APB1PeriphClockCmd */ RCC_APB1PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); /* Some member of GPIOA_InitStructure structure are not initialized */ GPIOA_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIOA_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /* GPIOA_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; */ GPIO_Init(GPIOA, &GPIOA_InitStructure); while (1) { } } #ifdef USE_FULL_ASSERT /** * @brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * @param file: pointer to the source file name * @param line: assert_param error line source number * @retval None */ void assert_failed(uint8_t* file, uint32_t line) { /* User can add his own implementation to report the file name and line number */ printf("\n\r Wrong parameter value detected on\r\n"); printf(" file %s\r\n", file); printf(" line %d\r\n", line); /* Infinite loop */ /* while (1) { } */ } #endif /** * @brief Retargets the C library printf function to the USART. * @param None * @retval None */ PUTCHAR_PROTOTYPE { /* Place your implementation of fputc here */ /* e.g. write a character to the USART */ USART_SendData(EVAL_COM1, (uint8_t) ch); /* Loop until the end of transmission */ while(USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) { } return ch; } /** * @} */ /** * @} */ /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/