M3352开发板的PWM模拟

lingjs11 2015-02-06 11:55:54
使用的是致远的M3352开发板,想使用GPIO做PWM的输出。
用WINCE的定时器定时10us,然后GPIO输出。
创建了一个单独的工作线程,优先级都已经是最高的了
如:
while (!g_ExitThreadFreq)
{
epcIoSetAPin(1, 1);
//delay();
epcIoSetAPin(1, 0);
//delay();
}
epcIoSetAPin()是设置某个GPIO为高低电平。

结果悲剧啦,示波器显示每隔十几毫秒有几毫秒IO口就不会做任何动作= =

求问大神怎么解决这个问题
...全文
461 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39674571 2017-07-31
  • 打赏
  • 举报
回复
怎么使用硬件中断来解决的呢,谢谢大神,如何使用M3352开发板,实现IO口 12Mhz的频率clk信号,且不受操作系统影响呢?
lingjs11 2015-03-02
  • 打赏
  • 举报
回复
老老实实用硬件中断了,结贴了。谢谢大家了
worldy 2015-02-07
  • 打赏
  • 举报
回复
线程定时会不准确、会被其他中断源中断 一贯认为,有时间要求的控制或者功能不要使用多线程,除非功能的实现仅仅限于启动、关闭等简单的操作
fly 100% 2015-02-06
  • 打赏
  • 举报
回复
还是硬件中断里面全做吧
lingjs11 2015-02-06
  • 打赏
  • 举报
回复
引用 2 楼 accessysq 的回复:
你在循环里面死命拉高拉低是要干什么?抢资源啊?? 这版子不带PWM吗?为啥不直接用。
有一路PWM拿去控制LCD背光了,还有很多IO口没用。 还有几个定时寄存器,但是不知道虚拟地址的映射啊,怎么操作。。。。 怎么办。。愁死了。
w22net 2015-02-06
  • 打赏
  • 举报
回复
是不是和其它驱动有冲突
  • 打赏
  • 举报
回复
你在循环里面死命拉高拉低是要干什么?抢资源啊?? 这版子不带PWM吗?为啥不直接用。
新唐NuTiny-SDK-M451开发板简介: 新唐NuMicro:registered: M451系列是基于ARM Cortex:registered:-M4内核的新一代32位的微控制器,含有浮点运算单元和DSP的Cortex:registered:--M4内核,最高可运行至72 MHz,内建128K/256K字节FLASH存贮器、32K字节SRAM,快速USB OTG、CAN和其它外设单元。宽工作电压(2.5V ~ 5.5V),工业级温度(-40℃ ~ 105℃),内置22.1184MHz晶振(在25℃,5V时精度1%),可配置Data Flash,强抗干扰性(ESD 8KV、EFT 4KV),封装类型有LQFP48、LQFP64和LQFP100。应用领域可以用于工业自动化、PLCs、变频器、智能家居、安防系统、数据采集、USB应用、智能卡读卡器、马达控制等应用领域。 许多系统级外设功能,如I/O 端口、 EBI (外部总线接口)、 PDMA ( 外设 DMA) 、 Timer 、 PWM 、看门狗定时器、窗口看门狗定时器、 RTC 、 UART 、智能卡接口、 SPI 、 I2C 、 I2S 、 CAN 2.0 、 USB 2.0 全速控制器、 EADC 、 DAC 、模拟比较器、循环冗余计算单元,都已经被集成在NuMicro:registered: M451系列,以减少系统外围元器件数量,节省电路板空间和系统成本.这些功能使NuMicro:registered: M451系列适用于广泛应用。 此外,NuMicro:registered: M451系列带有ISP(在系统编程)、ICP(在电路编程)和IAP(在应用编程)功能,允许用户无需取下芯片,直接在电路板上对程序存储器进行升级。 实物展示: 内核特点: ARM Cortex:registered:-M4 内核最高可运行到 72 MHz 支持带硬件除法器的 DSP 扩展功能 支持 IEEE 754 兼容浮点运算单元 (FPU) 支持内存保护单元 (MPU) 一个 24 位系统定时器 支持通过 WFI 和 WFE 指令进入低功耗睡眠模式 单周期 32 位硬件乘法器 支持可编程嵌套中断控制器 (NVIC)16 级优先级 支持可编程屏蔽中断 内建 LDO, 支持从 2.5V 到 5.5V 的宽电压操作 外设功能: 支持 I/O 端口、 EBI (外部总线接口)、 PDMA ( 外设 DMA) 、 Timer 、 PWM 、看门狗定时器、窗口看门狗定时器、 RTC 、 UART 、智能卡接口、 SPI 、 I2C 、 I2S 、 CAN 2.0 、 USB 2.0 全速控制器、 EADC 、 DAC 、模拟比较器、循环冗余计算单元 NuMicro M451基本系列选型指南: https://www.nuvoton.com/hq/products/microcontrollers/arm-cortex-m4-mcus/m451-base-series/?__locale=zh NuMicro M451M系列(M051管脚兼容)选型指南: https://www.nuvoton.com/hq/products/microcontrollers/arm-cortex-m4-mcus/m451m-series/?__locale=zh NuMicro M452 USB系列选型指南: https://www.nuvoton.com/hq/products/microcontrollers/arm-cortex-m4-mcus/m452-usb-series/?__locale=zh NuMicro M453 CAN系列(CAN+USB)选型指南: https://www.nuvoton.com/hq/products/microcontrollers/arm-cortex-m4-mcus/m453-can-series/?__locale=zh 附件内容包括: 1. 开发环境(包括Keil RVMDK评估版、IAR EWARM评估版以及Coocox) 2. 程序范例 3. 开发板电路原理图、PCB源文件、BOM、gerber文件 4. 开发数据(包括Datasheet、Product Brief、Technical Reference Manual) 5. Nuvoton公用程序(包括ICP、ISP、NuGang Programmer等等) 6. 学习教材 7. 应用手册 8. NuMicro选型表 新唐NuTiny-SDK-M451开发板原理图和PCB截图,PCB用PADS9.5导入打开: 实物购买链接:https://detail.tmall.com/item.htm?spm=a22
描述: Nexys4采用了Xilinx最新的 7系列芯片Artix-7 FPGA,是一款性能空前强大的学生向的FPGA设计平台。大规模、高容量的FPGA, 海量的外部存储, 各种USB、以太网、以及其它接口, 这些让Nexys-4 能够满足从入门级组合逻辑电路到强大的嵌入式系统的设计。同时,板上集成的加速度、温度传感器,MEMs数字麦克风,扬声器放大器以及大量的I/O设备, 让Nexys-4不需要增添额外组件而用于各种各样的设计。 Nexys4 是一块基于Xilinx Artix-7 100T FPGA 完整易用的数字电路开发平台。 较Nexys3上的Spartan 6 LX16 FPGA ,Artix-7的高性能逻辑提供了7倍容量,性能更强且资源更多。 Artix-7 100T 的特征如下: ● 15,850 slices ,每个包含4个6输入LUTs 及8个flip-flops ● 4,860 Kbits 的高速block RAM ● 6个时钟管理模块(CMT) 每个包含1个混合模式时钟管理器(MMCM)及一个锁相环(PLL) ● 240 DSP slices ● 500MHz+ 时钟 除了 Artix-7 FPGA以外, Nexys4 上还集成了各种外设,包括: 16 个拨码开关,16 个LED,2个4位7段数码管,1个XADC 模拟信号数字化Pmod 接口,2 个3色LED,1个micro SD卡槽,12位 VGA输出,单声道 PWM 音频输出,1个PDM 麦克风,1个3轴加速度计,和一个温度传感器。 大量的FPGA资源以及板上的外设让Nexys4 完美胜任各种数字系统设计, 包括基于 Xilinx’s MicroBlaze的嵌入式处理器设计。 Nexys4 与Xilinx新推出的高性能Vivado开发套件,以及包含ChipScope 和EDK的ISE等开发工具完全兼容。 Xilinx为这些工具提供了免费的 “Webpack” 版本,这就意味着可以在不增添费用的情况下完成设计。 特性: ● 16M字节 Micron公司的 Cellular RAM ● 16M字节 Quad SPI ROM ● 10/100 SMSC LAN8720 以太网PHY ● Digilent 高速USB接口提供电源、程序烧录和数据传输 ● A型USB接口,可以接鼠标、键盘和记忆棒 ● microSD 卡槽 ● 12位 VGA输出 ● 3轴 加速度计, 数字麦克风, 扬声器放大器,温度传感器 ● 16 个拨码开关, 16 个独立的 LED,2个3色LED,8个7段数码管, 5个按键开关 ● 5个Pmod接口, 其中一个接到FPGA内部的AD转换器
STM32是由意法半导体(STMicroelectronics)公司推出的基于ARM Cortex-M内核的高性能、低功耗、高性价比32位微控制器系列。自其面世以来,STM32凭借其广泛的适用性和卓越的特性,已成为嵌入式系统设计领域的主流选择之一,广泛应用于工业控制、消费电子、物联网、汽车电子、医疗设备、智能家居等多个领域。 内核与架构 STM32产品线采用了不同版本的ARM Cortex-M内核,包括M0、M0+、M3、M4、M7等,分别对应不同级别的性能需求。这些内核提供单周期乘法、硬件除法、DSP指令集、浮点单元(FPU)等功能,以满足不同应用场景中的计算密集型任务需求。处理器架构遵循哈佛结构,具有独立的指令总线和数据总线,确保高效的代码执行和数据访问。 丰富的外设与接口 STM32微控制器集成了丰富的外设资源,以适应各种复杂系统设计。这些外设包括但不限于: 通信接口:如USART、UART、SPI、I2C、CAN、USB(全速/高速)、Ethernet、无线连接模块(如BLE、Wi-Fi)等,用于实现设备间的串行通信和网络连接。 定时器:多种通用定时器、高级定时器、基本定时器以及PWM输出,支持定时、计数、脉冲捕获、电机控制等多种功能。 模拟外设:高精度ADC(模数转换器)、DAC(数模转换器)、比较器、温度传感器等,用于采集和处理模拟信号。 存储器:内置Flash和SRAM,容量从几KB到几MB不等,满足不同应用的数据存储和运行空间需求。部分型号还支持外部存储器接口(如FSMC、Octo-SPI)以扩展存储能力。 安全与保护机制:如加密加速器、安全单元、内存保护单元(MPU)、看门狗定时器、时钟安全系统(CSS)等,保障系统安全稳定运行。 开发环境与生态系统 STM32拥有强大的软件支持和生态系统,简化开发流程并加速产品上市时间: 开发工具:官方提供STM32CubeMX初始化配置工具,帮助开发者快速进行项目设置、外设配置及代码生成。此外,还有STM32CubeIDE集成开发环境,集成了编译器、调试器和仿真器支持。 软件库:STM32Cube软件包包含HAL(硬件抽象层)库和LL(低层)库,前者提供跨平台、跨系列的统一API接口,后者直接面向寄存器提供高效访问。同时,还提供各类外设驱动、中间件组件(如FreeRTOS、FatFS、LwIP等)以及特定应用框架(如STM32Cube.AI for AI推理)。 社区与资源:ST官方社区、论坛、博客、技术文档、培训材料、应用笔记、用户案例等资源丰富,为开发者提供全方位的技术支持和交流平台。 产品线与封装 STM32产品线按性能、功耗、外设组合等特性划分为多个子系列,如STM32F、STM32L、STM32G、STM32H等,每个子系列下又包含多种型号,以适应不同成本、性能、尺寸和功耗要求。封装形式多样,从小型QFN、LQFP到大型BGA,满足不同应用场景的封装密度和散热需求。 综上所述,STM32微控制器以其强大的内核性能、丰富的外设集成、完善的开发支持和广泛的市场应用,为嵌入式系统设计提供了高度灵活且极具竞争力的解决方案。
STM32是由意法半导体(STMicroelectronics)公司推出的基于ARM Cortex-M内核的高性能、低功耗、高性价比32位微控制器系列。自其面世以来,STM32凭借其广泛的适用性和卓越的特性,已成为嵌入式系统设计领域的主流选择之一,广泛应用于工业控制、消费电子、物联网、汽车电子、医疗设备、智能家居等多个领域。 内核与架构 STM32产品线采用了不同版本的ARM Cortex-M内核,包括M0、M0+、M3、M4、M7等,分别对应不同级别的性能需求。这些内核提供单周期乘法、硬件除法、DSP指令集、浮点单元(FPU)等功能,以满足不同应用场景中的计算密集型任务需求。处理器架构遵循哈佛结构,具有独立的指令总线和数据总线,确保高效的代码执行和数据访问。 丰富的外设与接口 STM32微控制器集成了丰富的外设资源,以适应各种复杂系统设计。这些外设包括但不限于: 通信接口:如USART、UART、SPI、I2C、CAN、USB(全速/高速)、Ethernet、无线连接模块(如BLE、Wi-Fi)等,用于实现设备间的串行通信和网络连接。 定时器:多种通用定时器、高级定时器、基本定时器以及PWM输出,支持定时、计数、脉冲捕获、电机控制等多种功能。 模拟外设:高精度ADC(模数转换器)、DAC(数模转换器)、比较器、温度传感器等,用于采集和处理模拟信号。 存储器:内置Flash和SRAM,容量从几KB到几MB不等,满足不同应用的数据存储和运行空间需求。部分型号还支持外部存储器接口(如FSMC、Octo-SPI)以扩展存储能力。 安全与保护机制:如加密加速器、安全单元、内存保护单元(MPU)、看门狗定时器、时钟安全系统(CSS)等,保障系统安全稳定运行。 开发环境与生态系统 STM32拥有强大的软件支持和生态系统,简化开发流程并加速产品上市时间: 开发工具:官方提供STM32CubeMX初始化配置工具,帮助开发者快速进行项目设置、外设配置及代码生成。此外,还有STM32CubeIDE集成开发环境,集成了编译器、调试器和仿真器支持。 软件库:STM32Cube软件包包含HAL(硬件抽象层)库和LL(低层)库,前者提供跨平台、跨系列的统一API接口,后者直接面向寄存器提供高效访问。同时,还提供各类外设驱动、中间件组件(如FreeRTOS、FatFS、LwIP等)以及特定应用框架(如STM32Cube.AI for AI推理)。 社区与资源:ST官方社区、论坛、博客、技术文档、培训材料、应用笔记、用户案例等资源丰富,为开发者提供全方位的技术支持和交流平台。 产品线与封装 STM32产品线按性能、功耗、外设组合等特性划分为多个子系列,如STM32F、STM32L、STM32G、STM32H等,每个子系列下又包含多种型号,以适应不同成本、性能、尺寸和功耗要求。封装形式多样,从小型QFN、LQFP到大型BGA,满足不同应用场景的封装密度和散热需求。 综上所述,STM32微控制器以其强大的内核性能、丰富的外设集成、完善的开发支持和广泛的市场应用,为嵌入式系统设计提供了高度灵活且极具竞争力的解决方案。

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧