ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1368042 Топик полностью
Nikolay801_ (02.11.2023 12:37, просмотров: 310) ответил vesago на Супер! Я как раз фанат SPL.
найди 10 отличий 

/**

* @brief config usart

* @param none

* @retval none

*/

void usart_configuration(void)

{

gpio_init_type gpio_init_struct;

/* enable the usart2 and gpio clock */

crm_periph_clock_enable(CRM_USART2_PERIPH_CLOCK, TRUE);

crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE);

gpio_default_para_init(&gpio_init_struct);

/* configure the usart2 tx pin */

gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;

gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;

gpio_init_struct.gpio_mode = GPIO_MODE_MUX;

gpio_init_struct.gpio_pins = GPIO_PINS_2;

gpio_init_struct.gpio_pull = GPIO_PULL_NONE;

gpio_init(GPIOA, &gpio_init_struct);

/* configure the usart2 rx pin */

gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;

gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;

gpio_init_struct.gpio_mode = GPIO_MODE_INPUT;

gpio_init_struct.gpio_pins = GPIO_PINS_3;

gpio_init_struct.gpio_pull = GPIO_PULL_UP;

gpio_init(GPIOA, &gpio_init_struct);

/* configure the REDE gpio */

gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;

gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;

gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;

gpio_init_struct.gpio_pins = GPIO_PINS_10;

gpio_init_struct.gpio_pull = GPIO_PULL_NONE;

gpio_init(GPIOA, &gpio_init_struct);

GPIOA->clr = GPIO_PINS_10;

/* config usart nvic interrupt */

nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);

nvic_irq_enable(USART2_IRQn, 1, 0);

/* configure usart2 param */

usart_init(USART2, 9600, USART_DATA_8BITS, USART_STOP_1_BIT);

usart_transmitter_enable(USART2, TRUE);

usart_receiver_enable(USART2, TRUE);

/* enable usart2 and usart3 interrupt */

usart_interrupt_enable(USART2, USART_RDBF_INT, TRUE);

usart_enable(USART2, TRUE);

//usart_interrupt_enable(USART2, USART_TDBE_INT, TRUE);

}

void spiflash_init(void)

{

gpio_init_type gpio_initstructure;

spi_init_type spi_init_struct;

crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);

crm_periph_clock_enable(CRM_DMA1_PERIPH_CLOCK, TRUE);

/* software cs, pb12 as a general io to control flash cs */

gpio_initstructure.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;

gpio_initstructure.gpio_pull = GPIO_PULL_UP;

gpio_initstructure.gpio_mode = GPIO_MODE_OUTPUT;

gpio_initstructure.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;

gpio_initstructure.gpio_pins = GPIO_PINS_12;

gpio_init(GPIOB, &gpio_initstructure);

gpio_initstructure.gpio_pins = GPIO_PINS_10;

gpio_init(GPIOB, &gpio_initstructure);

/* sck */

gpio_initstructure.gpio_pull = GPIO_PULL_UP;

gpio_initstructure.gpio_mode = GPIO_MODE_MUX;

gpio_initstructure.gpio_pins = GPIO_PINS_13;

gpio_init(GPIOB, &gpio_initstructure);

/* miso */

gpio_initstructure.gpio_pull = GPIO_PULL_UP;

gpio_initstructure.gpio_mode = GPIO_MODE_INPUT;

gpio_initstructure.gpio_pins = GPIO_PINS_14;

gpio_init(GPIOB, &gpio_initstructure);

/* mosi */

gpio_initstructure.gpio_pull = GPIO_PULL_UP;

gpio_initstructure.gpio_mode = GPIO_MODE_MUX;

gpio_initstructure.gpio_pins = GPIO_PINS_15;

gpio_init(GPIOB, &gpio_initstructure);

//FLASH_CS_HIGH();

mfrc630_SPI_unselect();

crm_periph_clock_enable(CRM_SPI2_PERIPH_CLOCK, TRUE);

spi_default_para_init(&spi_init_struct);

spi_init_struct.transmission_mode = SPI_TRANSMIT_FULL_DUPLEX;

spi_init_struct.master_slave_mode = SPI_MODE_MASTER;

spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_8;

spi_init_struct.first_bit_transmission = SPI_FIRST_BIT_MSB;

spi_init_struct.frame_bit_num = SPI_FRAME_8BIT;

spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_HIGH;

spi_init_struct.clock_phase = SPI_CLOCK_PHASE_2EDGE;

spi_init_struct.cs_mode_selection = SPI_CS_SOFTWARE_MODE;

spi_init(SPI2, &spi_init_struct);

spi_enable(SPI2, TRUE);

}

Будь ты проклят, Перри-Утконос!