当前位置: 首页 > news >正文

普宁市建设局网站做百度移动网站点

普宁市建设局网站,做百度移动网站点,怎么制作一款自己的app,mvc5网站开发之六前言 引用参考: Clion开发STM32之HAL库GPIO宏定义封装(最新版) 头文件 /******************************************************************************** Copyright (c) [scl]。保留所有权利。* 本文仅供个人学习和研究使用#xff0c;禁止用于商业用途。******…前言 引用参考: Clion开发STM32之HAL库GPIO宏定义封装(最新版) 头文件 /******************************************************************************** Copyright (c) [scl]。保留所有权利。* 本文仅供个人学习和研究使用禁止用于商业用途。******************************************************************************/ #ifndef STM32_F1XX_TEMPLATE_BSP_SPI_H #define STM32_F1XX_TEMPLATE_BSP_SPI_H#include bsp_include.h#define SPI_DEFAULT_CNF {\.Mode SPI_MODE_MASTER, /*主机模式*/\.Direction SPI_DIRECTION_2LINES, /*全双工*/\.DataSize SPI_DATASIZE_8BIT,/*数据大小:(字节)*/\.CLKPolarity SPI_POLARITY_LOW,/*时钟极性, 空闲状态为低*/\.CLKPhase SPI_PHASE_2EDGE, /*时钟相位, 在第二边沿采集数据*/\.NSS SPI_NSS_SOFT,/*软件使能*/\.BaudRatePrescaler SPI_BAUDRATEPRESCALER_2,/*波特率分频 2分频*/\.FirstBit SPI_FIRSTBIT_MSB,/*数据位传输方式从高到低*/\.TIMode SPI_TIMODE_DISABLE, /*TI 模式禁止*/\.CRCCalculation SPI_CRCCALCULATION_DISABLE,/*CRC校验禁用*/\.CRCPolynomial 7,/*CRC检验禁用此值无意义*/\}/*** CPOL: 时钟极性,控制在没有数据传输时note 时钟线的电平状态* 0: note 空闲状态时时钟线的电平为低电平* 1: note 空闲状态时. 时钟线的电平为 (高电平)* CPHA: 时钟相位数据采样的位置* 1note 在时钟的第2个边沿进行数据采集(CPOL为1: 上升沿采数据,CPOL为0:下降沿采数据)* 0: note 在时钟的第1个边沿进行数据采集(CPOL为1: 下降沿采数据CPOL为0: 上升沿采数据)* */ typedef enum {/**模式0 CPOL:0,CPHA:0 ; 时钟空闲状态为(低电平),在第一个时钟边沿采数据(时钟上升沿采数据) */spi_mode_0,/**模式1 CPOL:0,CPHA:1 ; 时钟空闲状态为(低电平),在第二个时钟边沿采数据(时钟下降沿采数据)*/spi_mode_1,/**模式2 CPOL:1,CPHA:0 ; 时钟空闲状态为(高电平),在第一个时钟边沿采数据(时钟下降沿采数据)*/spi_mode_2,/**模式3 CPOL:1,CPHA:1 ; 时钟空闲状态为(高电平),在第二个时钟边沿采数据(时钟上升沿采数据)*/spi_mode_3, } spi_mode_type;/********************************SPI1 配置**********************************************/ /**SPI1 GPIO ConfigurationPA5 ------ SPI1_SCKPA6 ------ SPI1_MISOPA7 ------ SPI1_MOSI*/ #define SPI1_SCK PA5 #define SPI1_MISO PA6 #define SPI1_MOSI PA7void spi1_gpio_msp_init();void spi1_gpio_msp_de_init();/********************************SPI2 配置**********************************************/ #define SPI2_SCK PB13 #define SPI2_MISO PB14 #define SPI2_MOSI PB15void spi2_gpio_msp_init();void spi2_gpio_msp_de_init();/********************************SPI3 配置**********************************************/ void bsp_SpiHandleInit(SPI_HandleTypeDef *handle, uint32_t BaudRatePrescaler, spi_mode_type mode);#endif //STM32_F1XX_TEMPLATE_BSP_SPI_H 源文件 /******************************************************************************** Copyright (c) [scl]。保留所有权利。* 本文仅供个人学习和研究使用禁止用于商业用途。******************************************************************************/ #include bsp_spi.hvoid HAL_SPI_MspInit(SPI_HandleTypeDef *hspi) {if (hspi-Instance SPI1) {__HAL_RCC_SPI1_CLK_ENABLE();spi1_gpio_msp_init();} else if (hspi-Instance SPI2) {/* SPI2 clock enable */__HAL_RCC_SPI2_CLK_ENABLE();spi2_gpio_msp_init();} else if (hspi-Instance SPI3) {}}void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi) {if (hspi-Instance SPI1) {__HAL_RCC_SPI1_CLK_DISABLE();spi1_gpio_msp_de_init();} else if (hspi-Instance SPI2) {/* SPI2 clock enable */__HAL_RCC_SPI2_CLK_DISABLE();spi2_gpio_msp_de_init();} else if (hspi-Instance SPI3) {} }void bsp_SpiHandleInit(SPI_HandleTypeDef *handle, uint32_t BaudRatePrescaler, spi_mode_type mode) {if (handle NULL) {error_handle();} else {handle-Init.BaudRatePrescaler BaudRatePrescaler;switch (mode) {case spi_mode_0:handle-Init.CLKPhase SPI_PHASE_1EDGE;handle-Init.CLKPolarity SPI_POLARITY_LOW;break;case spi_mode_1:handle-Init.CLKPhase SPI_PHASE_2EDGE;handle-Init.CLKPolarity SPI_POLARITY_LOW;break;case spi_mode_2:handle-Init.CLKPolarity SPI_POLARITY_HIGH;handle-Init.CLKPhase SPI_PHASE_1EDGE;break;case spi_mode_3:handle-Init.CLKPolarity SPI_POLARITY_HIGH;handle-Init.CLKPhase SPI_PHASE_2EDGE;break;}if (HAL_SPI_Init(handle) ! HAL_OK) {error_handle();}} } /********************************SPI1 配置**********************************************/ __weak void spi1_gpio_msp_init() {stm32_pin_define_mode_set(stm_get_pin(SPI1_SCK), pin_mode_output_af_pp);stm32_pin_define_mode_set(stm_get_pin(SPI1_MISO), pin_mode_input);stm32_pin_define_mode_set(stm_get_pin(SPI1_MOSI), pin_mode_output_af_pp); }__weak void spi1_gpio_msp_de_init() {stm32_pin_define_reset(stm_get_pin(SPI1_SCK));stm32_pin_define_reset(stm_get_pin(SPI1_MISO));stm32_pin_define_reset(stm_get_pin(SPI1_MOSI)); }/********************************SPI2 配置**********************************************/ __weak void spi2_gpio_msp_init() {stm32_pin_define_mode_set(stm_get_pin(SPI2_SCK), pin_mode_output_af_pp);stm32_pin_define_mode_set(stm_get_pin(SPI2_MISO), pin_mode_input);stm32_pin_define_mode_set(stm_get_pin(SPI2_MOSI), pin_mode_output_af_pp); }__weak void spi2_gpio_msp_de_init() {stm32_pin_define_reset(stm_get_pin(SPI2_SCK));stm32_pin_define_reset(stm_get_pin(SPI2_MISO));stm32_pin_define_reset(stm_get_pin(SPI2_MOSI)); }
http://www.yutouwan.com/news/205379/

相关文章:

  • 教育类网站开发公司编程工具
  • 公司网站友情链接有哪些网站可以做简历
  • 怎么判断网站开发语言网上开店电商平台有哪些
  • 流量很大的网站wordpress所有分类目录的地址
  • 潍坊 网站企划网亿(深圳)信息科技有限公司
  • 永嘉专业网站设计公司国家信用信息公示系统官网
  • 软件开发网站建设科技有限公司wordpress 熊掌
  • 本地生活网站 源码docker实际企业解决方案
  • 网站内容如何管理官网seo
  • 响应式网站建设报价单北京网站制作平台
  • 搭建直播网站需要怎么做域名销售网站
  • 晚上必看的正能量网站网站做第三方支付
  • 设计公司网站建设模板图政务网站信息化建设情况
  • 南通市建设监理协会网站西安建站价格
  • 网站设计建设公司需要什么资质wordpress php推送示例
  • 网站建设运城中国核工业第五建设有限公司官网
  • 建设网站了还能消除吗icp备案网站接入信息
  • 成都网站建设哪家专业井研移动网站建设
  • 万网网站加速做物流的网站都有什么风险
  • phpcms律师网站源码网络设计专业究竟好不好就业
  • 泉州网站建设维护aaa免费服务器
  • ui中国网站网页设计与制作课程结构
  • 珠海华兴建设工程有限公司网站深圳精品网站建设公司
  • 网站扒下来了怎么做上海做网站开发的公司
  • 个人备案的域名可以做网站吗中国企业报集团官网
  • 广西建设四库一平台网站一级a做爰片免费网站录像
  • 江阴做网站的企业网站如何加入百度联盟
  • 福州网站建设哪里有想做一个自己设计公司的网站怎么做的
  • 营销网站建设维护wordpress简书主题
  • 个人网站怎么备案微网站建设费用预算