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

西安建设公司网站网络游戏大型

西安建设公司网站,网络游戏大型,社区教育网站建设项目计划书,免费空间说说点赞通过DMA方式输出PWM模拟LED数据信号 优点#xff1a;不消耗CPU资源 缺点#xff1a;占用内存较大 STM32CUBEMX配置 定时器配置 定时器通道#xff1a;TIM3 CH2 分频#xff1a;0 重装值#xff1a;79#xff0c;芯片主频64Mhz#xff0c;因此PWM输出频率#xff1a…通过DMA方式输出PWM模拟LED数据信号 优点不消耗CPU资源 缺点占用内存较大 STM32CUBEMX配置 定时器配置 定时器通道TIM3 CH2 分频0 重装值79芯片主频64Mhz因此PWM输出频率64Mhz/79 ≈ 800Khz满足芯片要求。 auto-reload preload 要关闭 output compare preload 要打开 DMA配置 外设一定要选择TIM3_UP不要选TIM_CHx 方向是内存到外设和ADC是反的 模式选择Circular也可以选择Normal每次要写的时候才发送这里为了方便选Circular。 重要数据宽度外设选择half word内存选择byte可以省空间 添加初始化代码 void Activate_TIM3_DMA(void) {/* Set DMA transfer addresses of source and destination */LL_DMA_ConfigAddresses(DMA1,LL_DMA_CHANNEL_1, //DMA通道需与cubeMX设置的一致(uint32_t)LED_LEVEL_buff, //DMA要传输的数组(uint32_t)TIM3-CCR2, //DMA传输的寄存器地址TIM3_CH2LL_DMA_DIRECTION_MEMORY_TO_PERIPH); //传输方向/* Set DMA transfer size */LL_DMA_SetDataLength(DMA1,LL_DMA_CHANNEL_1,384); //DMA传输长度根据灯的数量定38416*24/* 开启定时器和DMA */LL_DMA_EnableChannel(DMA1,LL_DMA_CHANNEL_1);LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH2);LL_TIM_EnableAllOutputs(TIM3);LL_TIM_EnableCounter(TIM3);LL_TIM_EnableDMAReq_UPDATE(TIM3); }添加LED电平代码 #define TL 20 //写0电平占空比 20/(791) 79为定时器重装值 #define TH 55 //写1电平时间/*LED数据传输电平数组*/ /*多余的4个数组是RESET信号需大于80us*/ vu8 LED_LEVEL_buff[16][24] { TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led0*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led1*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led2*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led3*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led4*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led5*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led6*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led7*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led8*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led9*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led10*/ TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL, TL,/*led11*/ 0};这里一共12个灯每个灯需24bit定义16组数据是因为WS2812发送完所有数据后需要80us的低电平信号剩下4组数据为80us的低电平信号。 已知每个信号宽度为1.25us算下来为800Khz这个非常重要因此TIM重装值必须为79。 计算0码的长度也就是占空比占空比 20/(791)时间大概为0.31us满足需求 计算1码的长度也就是占空比占空比 55/(791)时间大概为0.86us满足需求 当要更改灯光颜色的时候修改LED_LEVEL_buff就行了效率很高缺点是需要占用较大的内存空间由于CPU主频很低重装值不会超过79因此数组用8位就够了32位纯属浪费空间所以DMA内存长度一定要和数组匹配否则会出现波形混乱。
http://www.zqtcl.cn/news/78317/

相关文章:

  • 三晋联盟做网站需要多钱成都专业网站建设公司排名
  • wordpress图片托管seo挖关键词
  • 网站建设前准备基础网络建设
  • 国内flash网站网站备案信息找回
  • 电商网站可以用dw做桂林漓江游船攻略
  • 太原网站建设案例WordPress营销推广返佣插件
  • 小型网站用typescript电影网站免费建设
  • 企业网站备案怎么搞给公司做网站这个工作怎么样
  • 网站推广的具体方法wordpress需要多少运存
  • 珠海市品牌网站建设平台职业培训网
  • 黑龙江网站建设企业企业为什么做网站系统
  • 临沂建站平台烟台巅峰网络科技有限公司
  • 泰安网站制作哪里有手机网站打不开被拦截怎么办
  • 网络推广网站推广方法wordpress4 中文
  • 服装网站建设规划书怎么写wordpress模板带后台
  • 企业网站优化培训WordPress mvc插件
  • 山东平台网站建设方案前端小说
  • 自己建网站收费吗网页设计培训班学费多少钱
  • 怎么自己做网站推广wordpress管理密码修改
  • 郑州做营销型网站建设合肥网络推广服务
  • 网站开发规格地方做什么网站
  • 竹木工艺品网站建设公司注册步骤流程
  • html5的网站花生壳怎么发布自己做的网站
  • 浙江建设厅 继续教育 网站wordpress屏蔽右键菜单并提示
  • 湖北响应式网站设计制作实名网站空间
  • 浙江省建设教育考试中心网站网站怎样注册
  • 租房网站开发视频教程随便建设网站犯法吗
  • mip手机网站模板怎么样做游戏网站
  • 南宁cms建站系统自己做的网站视频播放不了
  • 网站开发及代运营合理使用说明