blob: 1fb128cd2355a7a0ef4022b87c6156ef1d321c10 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name : readme.txt
* Author : MCD Application Team
* Version : V2.0.1
* Date : 06/13/2008
* Description : Description of the USART Synchronous Example.
********************************************************************************
* 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.
*******************************************************************************/
Example description
===================
This example provides a basic communication between USART1 (Synchronous mode)
and SPI1 using flags.
First, the USART1 sends data from TxBuffer1 buffer to SPI1 using USART1 TXE flag.
Data received, using RXNE flag, by SPI1 is stored in RxBuffer2 then compared with
the sent ones and the result of this comparison is stored in the "TransferStatus1"
variable.
Then, the SPI1 sends data from TxBuffer2 buffer to USART1 using SPI1 TXE flag.
Data received, using RXNE flag, by USART1 is stored in RxBuffer1 then compared with
the sent ones and the result of this comparison is stored in the "TransferStatus2"
variable.
USART1 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 Clock enabled
- USART CPOL: Clock is active high
- USART CPHA: Data is captured on the second edge
- USART LastBit: The clock pulse of the last data bit is output to the SCLK pin
SPI1 configured as follow:
- Direction = 2 Lines FullDuplex
- Mode = Slave Mode
- DataSize = 8 Bits
- CPOL = Clock is active high
- CPHA = Data is captured on the second edge
- NSS = NSS Software
- First Bit = First Bit is the LSB
Directory contents
==================
stm32f10x_conf.h Library Configuration file
stm32f10x_it.h Interrupt handlers header file
stm32f10x_it.c Interrupt handlers
main.c Main program
Hardware environment
====================
This example runs on STMicroelectronics STM3210B-EVAL and STM3210E-EVAL evaluation
boards and can be easily tailored to any other hardware.
There is no need for any modification when switching between these two boards.
Connect USART1_Tx(PA.09) to SPI1_MOSI(PA.07), USART1_Rx(PA.10) to SPI1_MISO(PA.06)
and USART1_CK(PA.08) to SPI1_SCK(PA.05).
How to use it
=============
In order to make the program work, you must do the following :
- Create a project and setup all your toolchain's start-up files
- Compile the directory content files and required Library files :
+ stm32f10x_lib.c
+ stm32f10x_gpio.c
+ stm32f10x_rcc.c
+ stm32f10x_usart.c
+ stm32f10x_spi.c
+ stm32f10x_nvic.c
+ stm32f10x_flash.c
- Link all compiled files and load your image into target memory
- Run the example
******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE******
|