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

制作企业网站的公司如何制作广告

制作企业网站的公司,如何制作广告,查网站备案号,门诊部网站建设STM32H7的DMA双缓冲控制IO输出脉冲 keil的sct文件配置MPU配置初始化DMA双缓冲初始化TIM12用处触发DMAMUX的请求发生器 keil的sct文件配置 ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision ***… STM32H7的DMA双缓冲控制IO输出脉冲 keil的sct文件配置MPU配置初始化DMA双缓冲初始化TIM12用处触发DMAMUX的请求发生器 keil的sct文件配置 ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; *************************************************************LR_IROM1 0x08000000 0x00200000 { ; load region size_regionER_IROM1 0x08000000 0x00200000 { ; load address execution address*.o (RESET, First)*(InRoot$$Sections).ANY (RO)}RW_IRAM1 0x20000000 0x00020000 { ; RW data - 128KB DTCM.ANY (RW ZI)}RW_IRAM2 0x24000000 0x00080000 { ; RW data - 512KB AXI SRAM*(.RAM_D1) }RW_IRAM3 0x30000000 0x00048000 { ; RW data - 128KB SRAM1(0x30000000) 128KB SRAM2(0x3002 0000) 32KB SRAM3(0x30040000)*(.RAM_D2)}RW_IRAM4 0x38000000 0x00010000 { ; RW data - 64KB SRAM4(0x38000000)*(.RAM_D3)} }MPU配置 /* 配置 SRAM4 的属性为 Write through, read allocateno write allocate */ MPU_InitStruct.Enable MPU_REGION_ENABLE; MPU_InitStruct.BaseAddress 0x38000000; MPU_InitStruct.Size ARM_MPU_REGION_SIZE_64KB; MPU_InitStruct.AccessPermission MPU_REGION_FULL_ACCESS; MPU_InitStruct.IsBufferable MPU_ACCESS_NOT_BUFFERABLE; MPU_InitStruct.IsCacheable MPU_ACCESS_CACHEABLE; MPU_InitStruct.IsShareable MPU_ACCESS_NOT_SHAREABLE; MPU_InitStruct.Number MPU_REGION_NUMBER2; MPU_InitStruct.TypeExtField MPU_TEX_LEVEL0; MPU_InitStruct.SubRegionDisable 0x00; MPU_InitStruct.DisableExec MPU_INSTRUCTION_ACCESS_ENABLE; HAL_MPU_ConfigRegion(MPU_InitStruct);初始化DMA双缓冲 /*初始化变量*/ #elif defined ( __CC_ARM ) ALIGN_32BYTES(__attribute__((section (.RAM_D3))) uint32_t IO_Toggle[8]) { 0x00000002U, 0x00020000U, 0x00000002U, 0x00020000U, 0x00000002U, 0x00020000U, 0x00000002U, 0x00020000U, }; ALIGN_32BYTES(__attribute__((section (.RAM_D3))) uint32_t IO_Toggle1[8]) { 0x00000002U, 0x00020000U, 0x00000002U, 0x00020000U, 0x00000002U, 0x00020000U, 0x00000002U, 0x00020000U, }; #endifvoid bsp_InitTimDMA(void) {GPIO_InitTypeDef GPIO_InitStruct;DMA_HandleTypeDef DMA_Handle {0};HAL_DMA_MuxRequestGeneratorConfigTypeDef dmamux_ReqGenParams {0};/*##-1- 配置PB1用于PWM输出 ##################################################*/__HAL_RCC_GPIOB_CLK_ENABLE();GPIO_InitStruct.Pin GPIO_PIN_1;GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull GPIO_NOPULL;GPIO_InitStruct.Speed GPIO_SPEED_FREQ_VERY_HIGH;HAL_GPIO_Init(GPIOB, GPIO_InitStruct);/*##-2- 使能DMA1时钟并配置 ##################################################*/__HAL_RCC_DMA1_CLK_ENABLE();DMA_Handle.Instance DMA1_Stream1; /* 使用的DMA1 Stream1 */DMA_Handle.Init.Request DMA_REQUEST_GENERATOR0; /* 请求类型采用的DMAMUX请求发生器通道0 */ DMA_Handle.Init.Direction DMA_MEMORY_TO_PERIPH; /* 传输方向是从存储器到外设 */ DMA_Handle.Init.PeriphInc DMA_PINC_DISABLE; /* 外设地址自增禁止 */ DMA_Handle.Init.MemInc DMA_MINC_ENABLE; /* 存储器地址自增使能 */ DMA_Handle.Init.PeriphDataAlignment DMA_PDATAALIGN_WORD; /* 外设数据传输位宽选择字即32bit */ DMA_Handle.Init.MemDataAlignment DMA_MDATAALIGN_WORD; /* 存储器数据传输位宽选择字即32bit */ DMA_Handle.Init.Mode DMA_CIRCULAR; /* 循环模式 */ DMA_Handle.Init.Priority DMA_PRIORITY_LOW; /* 优先级低 */ DMA_Handle.Init.FIFOMode DMA_FIFOMODE_DISABLE; /* 禁止FIFO*/DMA_Handle.Init.FIFOThreshold DMA_FIFO_THRESHOLD_FULL; /* 禁止FIFO此位不起作用用于设置阀值 */DMA_Handle.Init.MemBurst DMA_MBURST_SINGLE; /* 禁止FIFO此位不起作用用于存储器突发 */DMA_Handle.Init.PeriphBurst DMA_PBURST_SINGLE; /* 禁止FIFO此位不起作用用于外设突发 *//* 初始化DMA */if(HAL_DMA_Init(DMA_Handle) ! HAL_OK){Error_Handler(__FILE__, __LINE__); }/* 开启DMA1 Stream1的中断 */HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 2, 0);HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn); /*##-4- 配置DMAMUX ###########################################################*/dmamux_ReqGenParams.SignalID HAL_DMAMUX1_REQ_GEN_TIM12_TRGO; /* 请求触发器选择LPTIM2_OUT */dmamux_ReqGenParams.Polarity HAL_DMAMUX_REQ_GEN_RISING; /* 上升沿触发 */dmamux_ReqGenParams.RequestNumber 1; /* 触发后传输进行1次DMA传输 */HAL_DMAEx_ConfigMuxRequestGenerator(DMA_Handle, dmamux_ReqGenParams); /* 配置DMAMUX */HAL_DMAEx_EnableMuxRequestGenerator (DMA_Handle); /* 使能DMAMUX请求发生器 */ /*##-4- 启动DMA双缓冲传输 ################################################*//*1、此函数会开启DMA的TCTE和DME中断2、如果用户配置了回调函数DMA_Handle.XferHalfCpltCallback那么函数HAL_DMA_Init会开启半传输完成中断。3、如果用户使用了DMAMUX的同步模式此函数会开启同步溢出中断。4、如果用户使用了DMAMUX的请求发生器此函数会开始请求发生器溢出中断。*/HAL_DMAEx_MultiBufferStart_IT(DMA_Handle, (uint32_t)IO_Toggle, (uint32_t)GPIOB-BSRRL,(uint32_t)IO_Toggle1, 8);/* 用不到的中断可以直接关闭 *///DMA1_Stream1-CR ~DMA_IT_DME; //DMA1_Stream1-CR ~DMA_IT_TE;//DMAMUX1_RequestGenerator0-RGCR ~DMAMUX_RGxCR_OIE;TIM12_Config(0); }初始化TIM12用处触发DMAMUX的请求发生器 /* ********************************************************************************************************* * 函 数 名: TIM12_Config * 功能说明: 配置TIM12用于触发DMAMUX的请求发生器 * 形 参: _Mode * 0 表示配置为100KHz触发频率,配置为100KHz触发频率如果DMAMUX配置为单边沿触发那么输出PWM频 * 率是50KHz双边沿是100KHz。 * 1 表示配置为10KHz触发频率如果DMAMUX配置为单边沿触发那么输出PWM频率是5KHz双边沿是10KHz。 * 返 回 值: 无 ********************************************************************************************************* */ void TIM12_Config(uint8_t _Mode) {TIM_HandleTypeDef htim {0};TIM_MasterConfigTypeDef sMasterConfig {0};TIM_OC_InitTypeDef sConfig {0};uint32_t Period[2] {1999, 19999};uint32_t Pulse[2] {999, 9999};/* 使能时钟 */ __HAL_RCC_TIM12_CLK_ENABLE();/*-----------------------------------------------------------------------bsp.c 文件中 void SystemClock_Config(void) 函数对时钟的配置如下: System Clock source PLL (HSE)SYSCLK(Hz) 400000000 (CPU Clock)HCLK(Hz) 200000000 (AXI and AHBs Clock)AHB Prescaler 2D1 APB3 Prescaler 2 (APB3 Clock 100MHz)D2 APB1 Prescaler 2 (APB1 Clock 100MHz)D2 APB2 Prescaler 2 (APB2 Clock 100MHz)D3 APB4 Prescaler 2 (APB4 Clock 100MHz)因为APB1 prescaler ! 1, 所以 APB1上的TIMxCLK APB1 x 2 200MHz;因为APB2 prescaler ! 1, 所以 APB2上的TIMxCLK APB2 x 2 200MHz;APB4上面的TIMxCLK没有分频所以就是100MHz;APB1 定时器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14LPTIM1APB2 定时器有 TIM1, TIM8 , TIM15, TIM16TIM17APB4 定时器有 LPTIM2LPTIM3LPTIM4LPTIM5TIM12CLK 200MHz/(Period 1) / (Prescaler 1)函数bsp_InitTimDMA1中DMAMUX1选择的是单边沿触发每个时钟可以触发两次。----------------------------------------------------------------------- */ HAL_TIM_Base_DeInit(htim);htim.Instance TIM12;htim.Init.Period Period[_Mode];htim.Init.Prescaler 0;htim.Init.ClockDivision 0;htim.Init.CounterMode TIM_COUNTERMODE_UP;htim.Init.RepetitionCounter 0;HAL_TIM_Base_Init(htim);sConfig.OCMode TIM_OCMODE_PWM1;sConfig.OCPolarity TIM_OCPOLARITY_LOW;/* 占空比50% */sConfig.Pulse Pulse[_Mode]; if(HAL_TIM_OC_ConfigChannel(htim, sConfig, TIM_CHANNEL_1) ! HAL_OK){Error_Handler(__FILE__, __LINE__);}/* 启动OC1 */if(HAL_TIM_OC_Start(htim, TIM_CHANNEL_1) ! HAL_OK){Error_Handler(__FILE__, __LINE__);}/* TIM12的TRGO用于触发DMAMUX的请求发生器 */sMasterConfig.MasterOutputTrigger TIM_TRGO_OC1REF;sMasterConfig.MasterOutputTrigger2 TIM_TRGO2_RESET;sMasterConfig.MasterSlaveMode TIM_MASTERSLAVEMODE_DISABLE;HAL_TIMEx_MasterConfigSynchronization(htim, sMasterConfig); }
http://www.zqtcl.cn/news/697002/

相关文章:

  • 如何寻找做网站的客户聚名网查询
  • 甘肃制作网站凡科快图官网登录入口在线
  • discuz网站建设教学视频教程哪些大型网站有做互联网金融
  • jquery动画特效网站物流网站前端模板下载
  • 上海集团网站建设网站都是用什么语言写的
  • 地铁公司招聘信息网站网站推广页面 英语
  • 廊坊做网站的企业哪家好做网站app价格多少钱
  • wap网站制作当阳网站建设电话
  • 服装电子商务网站建设3000字中装建设有限公司
  • 河南卓越建设工程有限公司网站怎么做垂直门户网站
  • 接单做网页的网站手机端app开发公司
  • 古田路9号设计网站在线制作图片拼图
  • 深圳网站开发ucreator售后服务 网站建设
  • 做网站的语北京比较好的it公司
  • 长春建站模板制作php项目开发案例源码
  • 绍兴seo外包公司山东网站建设优化
  • php做网站知乎境外网站icp备案
  • 做seo网站图片怎么优化地坪漆东莞网站建设技术支持
  • wordpress theme forest济南优化网站排名
  • 简述网站的制作步骤合肥网站建设需
  • 网站备案的程序哪里能买精准客户电话
  • 白云网站建设网站版式
  • 做美食有哪些网站科技公司介绍
  • 网站后台被百度蜘蛛抓取哪个做网站比较好
  • 企业建设网站的需求分析百度免费发布信息平台
  • 网站建设交易中心上海装修公司排行榜
  • 桂林论坛网站有哪些在线设计平台用户分析
  • wap网站的开发去加网 wordpress
  • 博客网站建设设计论文总结php mysql做网站登录
  • 海南智能网站建设公司wordpress 如何使用php版本号