After setting the bus IP in 1-line bidirectional data mode, the selected and Output enabled (transmit-only mode) DR register to which data is to be transmitted is in the "READ" state and it is impossible to write any data to it. I enclose part of the initialization code of the SPI bus. In this particular case, I connect the SPI screen and part of the pins intended for controlling the CS and RD. This code works on STM32F103C8B dv in several projects ...
SPI_SendData8 (SPI1, 0X10); // SPI1-> DR = 0X10; //*(__IO uint8_t*)&SPI1 -> DR = (uint8_t)0X10;
This command should change the BSY: Busy flag = 1 and TXE: Transmit buffer empti = 0 but this does not happen. in the simulator everything works, but in the real board and with the debug not.
Here, the truth is in the simulation, but with real performance it’s all the same.
RCC checked all set up as expected. I don’t even know where to look ... whether to change the microcontroller to the same one or to install the stm32f103�?b on which everything works ....
In the standard setting of the SPI bus, the required signal is present at the MOSI, MISO, CLK outputs and the bus is working, but when trying to switch the bus to the “one line TX�? mode, the DR register is locked to write. MK is working and working fine, to control changed to the same and the result has not changed.
Hello. Problem not solved but the task is completed. Solution - writing software implementation Serial Peripheral Interface. In general, the SPI TFT screen is connected to stm32f030f4t6 and works exactly as on STM32F103CBT.
Everyone who tried to help everyone - thank you very much :) I would like the error information to go to the ERATA document.