安富莱原创例程简介

合集下载

at32f435例程

at32f435例程

at32f435例程【原创版】目录1.AT32F435 简介2.AT32F435 例程的作用3.如何编写 AT32F435 例程4.AT32F435 例程的应用实例5.总结正文【1.AT32F435 简介】AT32F435 是一款由 Atmel 公司推出的 32 位 Flash 微控制器,具有高性能、低功耗和多功能的特点。

它采用了 ARM Cortex-M4 内核,主频最高可达 64MHz,内置了丰富的外设接口,如 UART、SPI、I2C、ADC 等,适用于各种嵌入式系统应用。

【2.AT32F435 例程的作用】AT32F435 例程是指针对 AT32F435 微控制器编写的程序示例,它们通常包括驱动程序、中断处理程序和应用程序等。

通过阅读和分析这些例程,可以了解 AT32F435 微控制器的工作原理和编程方法,为开发者提供参考和指导。

【3.如何编写 AT32F435 例程】编写 AT32F435 例程需要遵循以下步骤:(1)了解 AT32F435 的硬件结构和功能特点,以便合理使用外设资源。

(2)选择合适的编程语言,如 C 语言或汇编语言,并熟悉相关的编译器和调试器。

(3)编写程序代码,包括初始化代码、驱动程序、中断处理程序和应用程序等。

(4)使用调试器对编写的程序进行调试和优化,确保程序的正确性和稳定性。

【4.AT32F435 例程的应用实例】以下是一个简单的 AT32F435 例程应用实例,用于通过串口发送“Hello, World!”字符串:(1)配置 UART 硬件:初始化 UART 相关寄存器,配置波特率、数据位、停止位等参数。

(2)编写串口发送函数:编写一个函数,用于将字符串通过 UART 发送出去。

(3)编写主函数:在主函数中调用串口发送函数,发送“Hello, World!”字符串。

(4)使用调试器将编译好的程序下载到 AT32F435 微控制器,通过串口监视器接收发送的数据。

安富莱_STM32-V5开发板 随板例程

安富莱_STM32-V5开发板  随板例程

安富莱STM32F407 开发板例程介绍1 半载资源丰富最主要的是可以学习到最新的EMWIN函数使用方法现已经更新到5.24全面的学习M4 相关知识/******************************************************************************** *************************** QQ 2066795256 全部例程共享* 模块名称: 主程序模块。

* 文件名称: main.c* 版本: V1.2* 说明: 例程* 修改记录:* 版本号日期作者说明* v1.0 2013-03-26 Eric2013 ST固件库V1.0.2版本* v1.1 2014-05-23 Eric2013 1. 升级ST固件库到V1.3.0* 2. STemWin到V5.22* 3. BSP驱动包到V1.2* 4. 修改显示界面自适应4.3寸,5寸和7寸。

* 5. 加入触摸校准功能。

* V1.2 2014-07-19 Eric2013 1. 升级STemWin到V5.24b* 2. 升级FatFS到V0.10b* 3. 加入新的触摸校准算法,触摸更加准确和灵敏* 4. 实现快速的背景图片绘制* 5. 其它更新看txt文档更新记录** Copyright (C), 2014-2015, 安富莱电子*QQ 2066795256 全部例程共享******************************************************************************* ***************************//******************************************************************************** *************************** 函数名: bsp_Init* 功能说明: 初始化硬件设备, 初始化过程中在LCD上滚动显示初始化结果。

STM32固件库V340中的例程申明

STM32固件库V340中的例程申明

STM32固件库V340中的例程申明ST 固件库(V3.4.0)中的例程说明1.例程目录序号类别名称说明1ADC 3ADCs_DMA 2ADC ADC1_DMA 3ADC AnalogWatchdog 4ADC ExtLinesTrigger 5ADC RegSimul_DualMode 6ADC TIMTrigger_AutoInjection 7BKP Backup_Data 8BKP Tamper 9CAN DualCAN (仅适用于互联型MCU10CAN LoopBack 11CAN Networking 12CEC CEC 仅适用于超值型MCU 13CortexM3BitBand 14CortexM3Mode_Privilege 15CRC CRC 16DAC DualModeDMA_SineWave 17DAC OneChannelDMA_Escalator 18DAC OneChannel_NoiseWave 19DAC TwoChannels_TriangleWave20DMA ADC_TIM121DMA FLASH_RAM 22 DMA FSMC 23DMA I2C_RAM 24 DMA SPI_RAM 25 EXTIEXTI26FLASHDual_Boot仅适用于超大容量型MCU 27FLASHProgram28FLASHWrite_Protection29FSMCNAND30FSMCNOR31FSMCNOR_CodeExecute32FSMCOneNAND安富莱开发板不支持33FSMCSRAM34FSMCSRAM_DataMemory、管路敷设技术通过管线不仅可以解决吊顶层配置不规范高中资料试卷问题,而且可保障各类管路习题到位。

在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标等,要求技术交底。

管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。

第一章:emwin介绍

第一章:emwin介绍

第1章e m W i n介绍本期教程开始带领大家了解一下STemWin的基本知识,其实确切的讲应该叫emWin基础知识,由于教程使用的开发板是ST的微控制器,所以就把名字统一命名成STemWin(为什么叫STemWin,在下面会有详细的讲解)。

1.1 STemWin,emWin,μCGUI之间的关系1.2 SEGGER公司介绍1.3 STemWin介绍1.4 STM32F103和407跑STemWin性能测试1.5 STemWin论坛1.6 总结1.1S T e m W i n,e m W i n,μC G U I之间的关系这个放在最开头进行说明,因为很多的初学者比较的迷惑。

对于一些刚学GUI的用户来说,知道μCGUI的比较多,而不知道所谓的emWin或者STemWin。

这个并不奇怪,主要是因为大部分人只知道SEGGER公司的做的JLINK,而不知道他们还有RTOS和相关的中间件(中间件的意思就是基于RTOS的文件系统,GUI,USB主机和设备协议栈等)。

1.1.1μCGUI在国内比较火的原因μCGUI在国内前几年比较火的原因有三点:●一个是μCOS-II在国内的推广,自从Micrum公司出的那本《嵌入式实时操作系统μCOS-II》发布之后,国内关于μCOS-II的资料就是普天盖起,再加上各种培训机构和开发板的推广,μCOS-II就在国内火起来了。

μCOS-II火的同时,它配套的中间件,特别是μCGUI就跟着在国内火了起来。

●前几年国内有一个μCGUI的论坛,这个论坛在国内的μCGUI方面应该算是做得最好的,特别是那个站长在μCGUI方面的研究,这位站长对于μCGUI在国内的发展功不可没。

●还有一个原因就是μCGUI是带有源码的,很多时候可以通过修改部分的源码实现一些特殊的功能,现在网上流传的μCGUI的源码已经不知道经过多少人的手被修改过,最原始的的代码已经在官网上面找不到了。

1.1.2emWin和μCGUI的关系首先要明白,这两个GUI是一个东西。

adalm-pluto matlab 例程-概述说明以及解释

adalm-pluto matlab 例程-概述说明以及解释

adalm-pluto matlab 例程-概述说明以及解释1.引言1.1 概述概述部分的内容可以写作如下:引言部分是文章的开端,用于介绍论文的主题和意义。

本文旨在探讨Adalm-Pluto与Matlab的连接以及Adalm-Pluto Matlab例程的使用方法。

Adalm-Pluto是一种可编程的软件无线电(SDR)平台,广泛应用于无线通信、无线电频谱监测、物联网和无线电教育等领域。

Matlab作为一种强大的数学软件工具,具有丰富的数据处理、算法设计和可视化分析能力。

将Adalm-Pluto与Matlab相结合,可以进一步发挥两者的优势,提高数据处理和系统设计的效率。

本文的主要结构包括引言、正文和结论三部分。

引言部分首先概述了文章的背景和目的。

接下来的正文部分将从Adalm-Pluto的介绍开始,介绍其硬件特点和功能。

然后,详细介绍了Matlab与Adalm-Pluto的连接方式,包括通过USB和无线连接两种方法。

最后,重点介绍了Adalm-Pluto Matlab例程的使用方法,包括数据采集、信号处理和系统设计等方面。

文章的结论部分总结了本文的主要内容,强调了Adalm-Pluto与Matlab相结合在无线通信和无线电教育等领域的应用前景。

同时,还对Adalm-Pluto Matlab例程的未来发展方向进行了展望。

最后,文章以结束语作为结尾,希望本文能够为读者提供一些有关Adalm-Pluto与Matlab的实践经验和参考。

1.2文章结构1.2 文章结构本文主要介绍了adalm-pluto与Matlab的连接以及Matlab上adalm-pluto的例程的使用方法。

具体结构如下:第2节将详细介绍adalm-pluto的概述,包括其基本特点、硬件配置和工作原理。

我们将了解adalm-pluto作为软件定义无线电(SDR)平台的重要性,以及其在射频领域的广泛应用。

第3节将重点讲解Matlab与adalm-pluto的连接方法。

STM32固件库(V3.4.0)中的例程说明

STM32固件库(V3.4.0)中的例程说明

ST固件库(V3.4.0)中的例程说明1.例程目录2.ADC2.1. 3ADCs_DMA这个例子描述如何使用3个ADC工作于独立转换模式。

其中2个ADC(ADC1和ADC3)通过DMA连续传输转换数据,当ADC2(使用ADC转换中断)转换结束时触发DMA传输。

ADC1配置为连续转换ADC通道14。

每次转换结束时触发DMA1传输,DMA1工作于循环模式。

转换数据由ADC1数据寄存器(DR)传输到ADC1_ConvertedValue变量。

ADC2配置为连续转换ADC通道13。

每次转换结束时产生一个ADC转换结束中断,在中断服务程序中将ADC2数据寄存器中的转换结果存储到ADC2_ConvertedValue变量。

ADC3配置为连续转换ADC通道12。

每次转换结束触发DMA2传输,DMA2工作在循环模式。

转换数据由ADC3数据结存器(DR)传输到ADC3_ConvertedValue变量。

所有的ADC时钟设置为14MHz。

ADC1、ADC2、ADC3转换结果可以通过3个变量(ADC1ConvertedValue、ADC2ConvertedValue、ADC3ConvertedValue)进行监视。

2.2. ADC1_DMA2.3. AnalogWatchdog2.4. ExtLinesTrigger2.5. RegSimul_DualMode2.6. TIMTrigger_AutoInjection3.BKP3.1. Backup_Data3.2. Tamper4.CAN4.1. DualCAN4.2. LoopBack4.3. Networking5.CEC6.CortexM36.1. BitBand6.2. Mode_Privilege7.CRC8.DAC8.1. DualModeDMA_SineWave 8.2. OneChannelDMA_Escalator 8.3. OneChannel_NoiseWave8.4. TwoChannels_TriangleWave9.DMA9.1. ADC_TIM19.2. FLASH_RAM9.3. FSMC9.4. I2C_RAM9.5. SPI_RAM10.EXTI11.FLASH11.1. Dual_Boot11.2. Program11.3. Write_Protection12.FSMC12.1. NAND12.2. NOR12.3. NOR_CodeExecute 12.4. OneNAND12.5. SRAM12.6. SRAM_DataMemory13.GPIO13.1. IOToggle13.2. JTAG_Remap14.I2C14.1. EEPROM14.2. I2C_TSENSOR14.3. IOExpander15.I2S15.1. Interrupt15.2. SPI_I2S_Switch16.IWDG17.Lib_DEBUG18.NVIC18.1. DMA_WFIMode18.2. IRQ_Channels18.3. Priority18.4. VectorTable_Relocation19.POWER19.1. PVD19.2. STANDBY19.3. STOP20.RCC21.RTC21.1. Calendar21.2. LSI_Calib22.SDIO23.CRC24.SPI24.1. DMA24.2. FullDuplex_SoftNSS 24.3. Simplex_Interrupt 24.4. SPI_FLASH25.SysTick26.TIM26.1. 6Steps26.2. 7PWM_Output26.3. Cascade_Synchro 26.4. ComplementarySignals 26.5. DMA26.6. ExtTrigger_Synchro 26.7. InputCapture26.8. OCActive26.9. OCInactive26.10. OCToggle26.11. OnePulse26.12. Parallel_Synchro 26.13. PWM_Input26.14. PWM_Outpu26.15. TIM10_PWMOutput26.16. TIM15_ComplementarySignals 26.17. TIM1_Synchro26.18. TIM9_OCToggle26.19. TimeBaseART27.1. DMA_Interrupt27.2. DMA_Polling27.3. HalfDuplex27.4. HyperTerminal_HwFlowControl 27.5. HyperTerminal_Interrupt27.6. Interrupt27.7. IrDA27.8. MultiProcessor27.9. Polling27.10. Printf27.11. Smartcard27.12. Synchronous28.WWDG。

第1章 STemWin介绍

第1章 STemWin介绍

第1章S T e m W i n介绍本期教程开始带领大家了解一下STemWin的基本知识,其实确切的讲应该叫emWin基础知识,由于教程使用的开发板是ST的微控制器,所以就把名字统一命名成STemWin(为什么叫STemWin,在下面会有详细的讲解)。

1.1 STemWin,emWin,μCGUI之间的关系1.2 SEGGER公司介绍1.3 STemWin介绍1.4 STM32F103和407跑STemWin性能测试1.5 STemWin论坛1.6 总结1.1S T e m W i n,e m W i n,μC G U I之间的关系这个放在最开头进行说明,因为很多的初学者比较的迷惑。

对于一些刚学GUI的用户来说,知道μCGUI的比较多,而不知道所谓的emWin或者STemWin。

这个并不奇怪,主要是因为大部分人只知道SEGGER公司的做的JLINK,而不知道他们还有RTOS和相关的中间件(中间件的意思就是基于RTOS的文件系统,GUI,USB主机和设备协议栈等)。

1.1.1μCGUI在国内比较火的原因μCGUI在国内前几年比较火的原因有三点:●一个是μCOS-II在国内的推广,自从Micrum公司出的那本《嵌入式实时操作系统μCOS-II》发布之后,国内关于μCOS-II的资料就是普天盖起,再加上各种培训机构和开发板的推广,μCOS-II就在国内火起来了。

μCOS-II火的同时,它配套的中间件,特别是μCGUI就跟着在国内火了起来。

●前几年国内有一个μCGUI的论坛,这个论坛在国内的μCGUI方面应该算是做得最好的,特别是那个站长在μCGUI方面的研究,这位站长对于μCGUI在国内的发展功不可没。

●还有一个原因就是μCGUI是带有源码的,很多时候可以通过修改部分的源码实现一些特殊的功能,现在网上流传的μCGUI的源码已经不知道经过多少人的手被修改过,最原始的的代码已经在官网上面找不到了。

1.1.2emWin和μCGUI的关系首先要明白,这两个GUI是一个东西。

【ucos-III教程】第11章

【ucos-III教程】第11章

【ucos-III教程】第11章 uCOS-III内核函数分析(上)第11章 uCOS-III内核函数分析(上)本期教程开始分析µCOS-III的内核函数,源码的分析采⽤先对源码进⾏注释,然后讲解函数实现的功能和相关的原理分析,最后是举⼀个例⼦(如果这个函数是供外部函数调⽤的)。

内核函数很重要,是学习任务管理,任务间通信机制的基础。

希望初学的同学认真学习,这部分应该算是µCOS-III的核⼼代码。

11.1系统配置⽂件11.2源码⽂件11.3µCOS-III初始化11.4µCOS-III启动11.5获取系统版本11.6空闲任务11.7临界段11.8安全关键IEC6150811.9任务切换11.10调度锁11.11 Round-Robin调度11.12总结11.1 系统配置⽂件下⾯先简单说明下µCOS-III中⼏个配置⽂件的作⽤,⽅便分析源码的时候查看,配置⽂件主要有以下⼏个:11.1.1 lib_cfg.h配置⽂件lib_cfg.h⽂件内容如下:#ifndef LIB_CFG_MODULE_PRESENT#define LIB_CFG_MODULE_PRESENT#define LIB_MEM_CFG_ARG_CHK_EXT_EN DEF_ENABLED#define LIB_MEM_CFG_OPTIMIZE_ASM_EN DEF_ENABLED#define LIB_MEM_CFG_ALLOC_EN DEF_ENABLED#define LIB_MEM_CFG_HEAP_SIZE 23u * 1024u#endiflib_cfg.h是⽤于给uC/LIB做配置的头⽂件。

如果程序中使⽤uC/LIB的话,需要调⽤函数Mem_Init()进⾏初始化。

11.1.2 os_cfg.h配置⽂件os_cfg.h⽂件中的内容如下:#ifndef OS_CFG_H#define OS_CFG_H#define OS_CFG_APP_HOOKS_EN 1u#define OS_CFG_ARG_CHK_EN 1u#define OS_CFG_CALLED_FROM_ISR_CHK_EN 1u#define OS_CFG_DBG_EN 1u#define OS_CFG_ISR_POST_DEFERRED_EN 0u#define OS_CFG_OBJ_TYPE_CHK_EN 1u#define OS_CFG_TS_EN 1u#define OS_CFG_PEND_MULTI_EN 1u#define OS_CFG_PRIO_MAX 64u#define OS_CFG_SCHED_LOCK_TIME_MEAS_EN 0u#define OS_CFG_SCHED_ROUND_ROBIN_EN 0u#define OS_CFG_STK_SIZE_MIN 64u#define OS_CFG_FLAG_EN 1u#define OS_CFG_FLAG_DEL_EN 1u#define OS_CFG_FLAG_MODE_CLR_EN 1u#define OS_CFG_FLAG_PEND_ABORT_EN 1u#define OS_CFG_MEM_EN 1u#define OS_CFG_MUTEX_EN 1u#define OS_CFG_MUTEX_DEL_EN 1u#define OS_CFG_MUTEX_PEND_ABORT_EN 1u#define OS_CFG_Q_EN 1u#define OS_CFG_Q_DEL_EN 1u#define OS_CFG_Q_FLUSH_EN 1u#define OS_CFG_Q_PEND_ABORT_EN 1u#define OS_CFG_SEM_EN 1u#define OS_CFG_SEM_DEL_EN 1u#define OS_CFG_SEM_PEND_ABORT_EN 1u#define OS_CFG_SEM_SET_EN 1u#define OS_CFG_STAT_TASK_EN 1u#define OS_CFG_STAT_TASK_STK_CHK_EN 1u#define OS_CFG_TASK_CHANGE_PRIO_EN 1u#define OS_CFG_TASK_DEL_EN 1u#define OS_CFG_TASK_Q_EN 1u#define OS_CFG_TASK_Q_PEND_ABORT_EN 1u#define OS_CFG_TASK_PROFILE_EN 1u#define OS_CFG_TASK_REG_TBL_SIZE 1u#define OS_CFG_TASK_SEM_PEND_ABORT_EN 1u#define OS_CFG_TASK_SUSPEND_EN 1u#define OS_CFG_TIME_DLY_HMSM_EN 1u#define OS_CFG_TIME_DLY_RESUME_EN 1u#define OS_CFG_TMR_EN 1u#define OS_CFG_TMR_DEL_EN 1u#endif这个配置⽂件⽐较的重要,主要⽤于µCOS-III源码中相关函数的配置。

【安富莱】STemWin教程-第55章SLIDER-滑块控件

【安富莱】STemWin教程-第55章SLIDER-滑块控件

安富莱S T M32-V5开发板S T e m W i n教程文档版本:V1.0发布日期:2014-05-07安富莱电子W W W.A R M F L Y.C O M第55章SLIDER-滑块控件本期教程讲解STemWin支持的滑块控件。

55. 1滑块控件介绍55. 2 官方DIALOG_SliderColor实例55. 3 使用官方GUIBulder建立滑块控件55. 4 总结55.1滑块控件介绍滑块控件的常见用途是:使用滑动条来修改各项数值。

滑块包含滑动条和滑动条旁边的刻度标记。

在拖动滑动条时,这些刻度标记可规定光标按指定间距移动。

设置皮肤后显示效果如下:55.1.1滑块支持的通知代码以下事件是滑块控件作为WM_NOTIFY_PARENT消息的一部分发送给其父窗口的:WM_NOTIFICATION_CLICKED 已单击滑块小工具。

WM_NOTIFICATION_RELEASED 已释放滑块小工具。

WM_NOTIFICATION_VALUE_CHANGED 滑块控件的值可以通过移动缩略图进行更改。

55.1.2滑块支持的键盘反应如果控件具有输入焦点,则它将对下列各键做出反GUI_KEY_RIGHT 将滑动条的当前值增加一个项目。

GUI_KEY_LEFT 将滑动条的当前值减小一个项目。

55.2官方DIALOG_SliderColor实例官方的这个实例很好的演示了slider的使用,这个例子在模拟器中的位置:源码如下(程序中进行了详细的注释,数据部分没有贴出):/*********************************************************************** Dialog resource* 对话框资源表*/static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {{ FRAMEWIN_CreateIndirect, "Adjust color", 0, 10, 40, 300, 160, FRAMEWIN_CF_MOVEABLE}, { TEXT_CreateIndirect, "Red:" , 0, 5, 20, 35, 20, TEXT_CF_LEFT },{ TEXT_CreateIndirect, "Green:", 0, 5, 50, 35, 20, TEXT_CF_LEFT },{ TEXT_CreateIndirect, "Blue:", 0, 5, 80, 35, 20, TEXT_CF_LEFT },{ TEXT_CreateIndirect, "Preview",0, 205, 4, 81, 15, TEXT_CF_HCENTER }, { SLIDER_CreateIndirect, NULL, GUI_ID_SLIDER0, 40, 20, 100, 20 },{ SLIDER_CreateIndirect, NULL, GUI_ID_SLIDER1, 40, 50, 100, 20 },{ SLIDER_CreateIndirect, NULL, GUI_ID_SLIDER2, 40, 80, 100, 20 },{ EDIT_CreateIndirect, NULL, GUI_ID_EDIT0, 145, 20, 30, 20, 0, 3 },{ EDIT_CreateIndirect, NULL, GUI_ID_EDIT1, 145, 50, 30, 20, 0, 3 },{ EDIT_CreateIndirect, NULL, GUI_ID_EDIT2, 145, 80, 30, 20, 0, 3 },{ BUTTON_CreateIndirect, "OK", GUI_ID_OK, 10, 110, 60, 20 },{ BUTTON_CreateIndirect, "Cancel", GUI_ID_CANCEL, 230, 110, 60, 20 },};/*********************************************************************** Static data, colors************************************************************************/static U8 _aColorSep[3] = {0, 127, 255}; // Red, green and blue components/*********************************************************************** _OnPaint* 这个函数用于绘制三个小的单色矩形方框和一个大的举行方框*/static void _OnPaint(void) {//// 绘制RGB颜色方框//GUI_SetColor(_aColorSep[0]);GUI_FillRect(180, 20, 199, 39);GUI_SetColor(_aColorSep[1] << 8);GUI_FillRect(180, 50, 199, 69);GUI_SetColor(((U32)_aColorSep[2]) << 16);GUI_FillRect(180, 80, 199, 99);//// 绘制RGB三种颜色混合后的结果//GUI_SetColor(_aColorSep[0] | (((U32)_aColorSep[1]) << 8) | (((U32)_aColorSep[2]) << 16)); GUI_FillRect(205, 20, 285, 99);}/*********************************************************************** _OnValueChanged*/static void _OnValueChanged(WM_HWIN hDlg, int Id) {unsigned Index;unsigned v;WM_HWIN hSlider;WM_HWIN hEdit;Index = 0;v = 0;if ((Id >= GUI_ID_SLIDER0) && (Id <= GUI_ID_SLIDER2)) {Index = Id - GUI_ID_SLIDER0;//// 滑块的数值被更改后,更新编辑框中的数值//hSlider = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + Index);hEdit = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + Index);v = SLIDER_GetValue(hSlider);EDIT_SetValue(hEdit, v);} else if ((Id >= GUI_ID_EDIT0) && (Id <= GUI_ID_EDIT2)) {Index = Id - GUI_ID_EDIT0;//// 编辑框中的数值更改后,更新滑块的数值//hSlider = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + Index);hEdit = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + Index);v = EDIT_GetValue(hEdit);SLIDER_SetValue(hSlider, v);}_aColorSep[Index] = v;//// 最后通过使得对话框客户端窗口无效,进而执行对话框回调函数中的WM_PAINT消息 //WM_InvalidateWindow(WM_GetClientWindow(hDlg));}/*********************************************************************** _cbBkWindow* 桌面窗口回调函数*/static void _cbBkWindow(WM_MESSAGE * pMsg) {int xPos;int yPos;xPos = LCD_GetXSize() / 2 - bmSeggerLogoBlue.XSize/2;yPos = LCD_GetYSize() / 2 - bmSeggerLogoBlue.YSize/2 ;switch (pMsg->MsgId) {case WM_PAINT:GUI_SetBkColor(GUI_BLUE);GUI_Clear();GUI_SetColor(GUI_WHITE);GUI_SetFont(&GUI_Font24_ASCII);GUI_DispStringHCenterAt("DIALOG_SliderColor - Sample", 160, 5);GUI_DrawBitmap(&bmSeggerLogoBlue, xPos, yPos );default:WM_DefaultProc(pMsg);}}/*********************************************************************** _cbCallback*/static void _cbCallback(WM_MESSAGE * pMsg) {WM_HWIN hDlg;WM_HWIN hItem;int i;int NCode;int Id;hDlg = pMsg->hWin;switch (pMsg->MsgId) {case WM_PAINT:_OnPaint();return;case WM_INIT_DIALOG:for (i = 0; i < 3; i++) {/* 初始化滑块 */hItem = WM_GetDialogItem(hDlg, GUI_ID_SLIDER0 + i);SLIDER_SetRange(hItem, 0, 255);SLIDER_SetValue(hItem, _aColorSep[i]);//// 初始化编辑框//hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0 + i);EDIT_SetDecMode(hItem, _aColorSep[i], 0, 255, 0, 0);}break;case WM_KEY:switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) {case GUI_KEY_ESCAPE:;break;case GUI_KEY_ENTER:GUI_EndDialog(hDlg, 0);break;}break;case WM_NOTIFY_PARENT:Id = WM_GetId(pMsg->hWinSrc); // Id of widgetNCode = pMsg->Data.v; // Notification codeswitch (NCode) {case WM_NOTIFICATION_RELEASED: // React only if released if (Id == GUI_ID_OK) { // OK ButtonGUI_EndDialog(hDlg, 0);}if (Id == GUI_ID_CANCEL) { // Cancel ButtonGUI_EndDialog(hDlg, 1);}break;case WM_NOTIFICATION_VALUE_CHANGED: // Value has changed_OnValueChanged(hDlg, Id);break;}break;default:WM_DefaultProc(pMsg);}}/********************************************************************* ** Public code*********************************************************************** *//********************************************************************* ** MainTask*/void MainTask(void) {GUI_Init();GUI_CURSOR_Show();WM_SetCallback(WM_HBKWIN, _cbBkWindow);WM_SetCreateFlags(WM_CF_MEMDEV); // Use memory devices on all windows to avoid flicker while (1) {GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);GUI_Delay(1000);}}实际显示效果如下:55.3使用官方GUIBulder建立单选按钮控件这里用GUIBulder5.22建立一个如下的界面(分辨率480*272):默认建立的是水平滑块,可以通过选中滑块后,右击鼠标更改为垂直的:将生成的代码直接复制到模拟器或者开发板上面运行,实际显示效果如下(生成的代码在本期教程配套的例子中):55.4总结本期教程主要是跟大家讲解了滑块控件的基础知识。

安富莱AX-Pro逻辑分析仪和示波器_用户手册(V1.5)

安富莱AX-Pro逻辑分析仪和示波器_用户手册(V1.5)

安富莱电子
V1.5 安富莱 AX-Pro 逻辑分析仪和示波器用户手册
用另外一台PC机连接第2个AX-Pro,PC机上运行示波器程序,测量第1个AX-Pro的输出信号。实 际的模拟带宽实际上高于3MHz。 频率1MHz,幅度3.3V的方波:
频率125kHz,幅度3.3V的方波:
购买链接: 第 3 页 共 87 页
安富莱电子
V1.5 安富莱 AX-Pro 逻辑分析仪和示波器用户手册
快采集周期 0.25秒 z 数字信号发生器,可同时输出8路数字信号,信号波形任意指定,最快
速率24Msps
购买链接: 第 5 页 共 87 页
安富莱电子
V1.5 安富莱 AX-Pro 逻辑分析仪和示波器用户手册
感谢您选购安富莱电子的产品!
安富莱AX-Pro逻辑分析仪和示波器是一款基于USB2.0高速接口的虚拟仪器,是电子工程 师和软件工程师常用的一种电路分析和软件协议分析工具。AX-Pro可以实现8通道数字逻辑 分析仪(支持I2C、SPI、USB全速和低速、CAN、异步串口、1-wire协议以及客户自定义协 议解析)、2通道(单踪)模拟信号示波器、8通道数字信号发生器、双通道电压表、频率计、 脉冲计数器等功能。
安富莱电子
V1.5 安富莱 AX-Pro 逻辑分析仪和示波器用户手册
安富莱AX-Pro逻辑分析仪和示波器
用户手册
版本:V1.5 2012-04-19
购买链接: 第 1 页 共 87 页
购买链接: 第 7 页 共 87 页

【安富莱二代示波器教程】第2章示波器操作说明及其介绍

【安富莱二代示波器教程】第2章示波器操作说明及其介绍

【安富莱⼆代⽰波器教程】第2章⽰波器操作说明及其介绍第2章⽰波器操作说明及其介绍本章节主要讲解⽰波器的操作说明及其相关介绍。

2.1 ⽰波器使⽤前注意事项2.2 ⽰波器的按键操作说明2.3 ⽰波器滑动操作说明2.4 对话框操作说明2.5 ⽰波器功能介绍2.6 波形显⽰效果2.8 2048点浮点FFT计算的幅频显⽰2.8 ⽔平测量和垂直测量功能2.9 普通触发以及采集波形的浏览功能2.10 80阶Fir低通滤波器设计2.11 波形参考位置调节2.12 FFT幅频显⽰和测量值窗⼝的隐藏2.13 幅值调节2.14 低频采样率采集⾼频信号的炫酷效果2.15 总结2.1 ⽰波器使⽤前注意事项使⽤⽰波器前要特别注意以下三个问题:2.1.1 ADC和DAC的参考电压接到3.3V的地⽅跳线帽连接如下:2.1.2 ADC和DAC的引脚说明双通道ADC和DAC信号发⽣器的引脚安排如下(下⾯截图的左下⾓或者板⼦的背⾯也有丝印注释):(1)PC0引脚⽤于波形通道1,使⽤ADC3采样。

简易电压采集也是⽤的这个引脚,不过⽤的ADC2采样。

(2)PC3引脚⽤于波形通道2,使⽤ADC1采样。

(3)PA4引脚⽤于DAC信号发⽣器。

另外,由于没有外接⽰波器的模拟前端,ADC的输⼊电压不要超出0-3.3V的范围。

DAC的输出幅值范围是0-3.3V。

2.1.3 触摸4点校准第⼀次使⽤的话,需要按下按键K1进⾏四点的触摸校准,K1按键的位置如下,仅电阻屏需要触摸校准,电容屏⽆需校准(详情请看本教程第16章附件A):2.2 ⽰波器的按键操作说明⽰波器使⽤按键K1,K2,K3和五向摇杆。

1、K1按键⽤于触摸校准。

2、K2按键⽤于波形显⽰的运⾏和暂停。

3、K3按键⽤于⾃动触发模式和普通触发模式的切换。

4、摇杆OK键⽤于摇杆上下左右四个⽅向的功能切换:(1)设置为AdjFreq时,摇杆的左右按键分别⽤于降低采样率和提⾼采样率。

(2)设置为AdjAmplitude时,摇杆的上下按键分别⽤于放⼤和缩⼩幅值单位。

【安富莱】DSP教程 --第20章 MatrixFunctions的使用(二)

【安富莱】DSP教程 --第20章 MatrixFunctions的使用(二)
arm_matrix_instance_q31 pSrcA1; //3行3列数据 arm_matrix_instance_q31 pDst1;
/****定点数Q15数组******************************************************************/
声明
本文档的版权归武汉安富莱电子有限公司所有。任何公司或者个人 未经许可,不得将本文档用于商业目的。 本文档由安富莱电子原创,非我们原创的资料已经在章节的开头进
行申明(特别是 FFT 部分)。 教程中使用的 DSP 库是来自 ARM 公司。 教程参考资料如下:
Cortex-M4 权威指南。 数字信号处理理论、算法与实现第二版(作者:胡广书)。 信号与系统第二版(作者:奥本海姆)。 Matlab 的 help 文ST 官方相关文档。
arm_matrix_instance_f32 pSrcA; //3行3列数据 arm_matrix_instance_f32 pDst;
/****定点数Q31数组******************************************************************/ q31_t pDataA1[9] = {1, 1, 2, 2, 3, 3, 4, 4, 5}; q31_t scaleFract = 10; int32_t shift = 0; q31_t pDataDst1[9];
arm_matrix_instance_f32 * pDst)
参数定义:
[in]
*pSrcA points to the first input matrix structure
[in]
*pSrcB points to the second input matrix structure

安富莱_STM8S-EK1开发板_用户手册(V1.2)

安富莱_STM8S-EK1开发板_用户手册(V1.2)

安富莱S T M8S-E K1开发板用户手册文档版本:V1.2安富莱电子声 明安富莱S T M8S-E K1开发板是由安富莱电子设计和生产的一款产品。

该产品不仅包括开发板硬件,也包括硬件原理图、例程、完整的软件开发环境以及专业的技术支持。

因此请不要以硬件物料成本计算产品价格。

本文档为安富莱S T M8S-E K1开发板配套的用户手册,详细介绍了开发板的使用方法。

配套光盘中提供的原理图、软件例程、文档和开发软件仅用于学习和设计参考,我们不承担客户将相关资料用于产品时所带来的一切风险,这些风险包括产品质量问题、版权问题。

本文档的版权归安富莱电子所有。

任何公司或者个人未经许可,不得将本文档用于商业目的。

购买开发板之后,您可以加入售后Q Q群(群内成员都拥有开发板)寻求技术支持。

您也可以在我们的论坛(b b s.a r m f l y.c o m)注册一个账号,我们会升级该账号为V I P权限,这样您就可以自由下载升级例程(终身有效)。

申请加入Q Q群和升级B B S用户权限时,必须提供开发板的S N(及C P U的序号),否则会审核不过。

本手册的内容会不断完善,您可以登录 b b s.a r m f l y.c o m 论坛的S T M8版块获取升级版本。

开发板特点选择STM8系列最便宜的 STM8SF103F3P6 (批量价格低于2元)。

主要面向低成本产品开发以及入门学习。

该CPU带8K Flash,1K RAM,1K EEPROM,带5路ADC,3个定时器,1个串口,1个SPI, 1个I2C。

支持在线调试。

秒杀STC 51单片机。

带一个轨到轨四运放,方便你快速搭建模拟信号处理前端电路。

余音蜂鸣器电路。

不是简单的蜂鸣器驱动,带余音控制电路的。

让你的按键音不再单调。

CPU支持3.3V和5V供电,通过跳线帽可以切换供电电压,方便你驳接各种外设。

所有的CPU GPIO都有跳线控制,利用杜邦线就可以将板载外设接到任意IO,方便你快速构建产品的原型进行评估和前期软件开发。

安富莱STM32例程调试方法(KEIL)

安富莱STM32例程调试方法(KEIL)

安富莱S T M32例程调试方法(K E I L)V1.0 2010-01-01 1.调试前的准备工作(1)安装好KEIL MDK集成环境(光盘上收录了mdk3.70.rar,安装完后需要用注册机进行注册。

注册方法在另外的文档说明)(2)安装J-LINK仿真器驱动。

(3)接好J-Link仿真器,给开发板上电。

(4)将开发板的COM1口通过串口线连接到计算机。

(5)启动windows的超级终端程序(大部分例程都通过串口打印信息)。

最小调试环境如下:2.开始调试例程(1)首先从网站下载或者从安富莱开发板配套的光盘上复制例程的压缩包至PC机硬盘。

(2)解压文件 : Ex001-串口printf和scanf(20xx-xx-xx).rar(3)进入Project\RVMDK目录(4)双击project.Uv2图标,即可自动启动KEIL MDK开发环境。

MDK主界面如下:单击“Select Target”下拉列表框,会出现3个Target选项:这个工程包含3个Target配置,可以生成在3种目标程序(使用相同的源代码),分别在CPU内部Flash、CPU内部RAM和外部SRAM中运行。

我调试时,大多数选择在CpuRAM 进行,因为这样下载要快很多。

下面介绍几个常用的按钮:图标 功能说明编译当前文件。

可以编译当前打开的单个源文件。

编译并连接所有文件。

会编译当前更新了的文件。

重新编译并连接所有文件。

下载程序到目标板。

可以直接点开始调试按钮进行调试,因为它会自动决定是否需要下载程序到目标板。

开始调试。

我们发布的源代码在打包时去掉了所有的目标文件,因此你在第1次调试时,必须重新编译所有的文件,也就是说点击 按钮。

编译成功后,可以在MDK下面的输出窗口看到编译结果:编译成功后,我们就可以开始调试了。

点击 后,会自动下载程序到Flash或者内部RAM,稍等片刻会出现调试界面:黄色的箭头表示当前程序停在main()函数入口。

at32f415cmp例程

at32f415cmp例程

at32f415cmp例程摘要:1.AT32F415cmp 简介2.AT32F415cmp 例程的作用3.AT32F415cmp 例程的编写方法4.AT32F415cmp 例程的应用案例5.总结正文:【1.AT32F415cmp 简介】AT32F415cmp 是一款由Microchip 公司推出的32 位嵌入式Flash 微控制器。

该控制器具有高性能、低功耗、多功能等特点,广泛应用于各类嵌入式系统中。

AT32F415cmp 内置丰富的外设接口,如UART、SPI、I2C 等,方便开发者进行各种功能扩展。

【2.AT32F415cmp 例程的作用】AT32F415cmp 例程是指针对AT32F415cmp 微控制器编写的示例程序,主要用于帮助开发者了解和学习AT32F415cmp 的架构、功能和编程方法。

通过阅读和分析例程,开发者可以掌握AT32F415cmp 的开发技巧,为自己的项目编写出高效、稳定的代码。

【3.AT32F415cmp 例程的编写方法】编写AT32F415cmp 例程需要遵循以下步骤:(1)确定例程的功能:首先需要明确例程要实现的功能,例如UART 通信、SPI 通信等。

(2)熟悉AT32F415cmp 的架构:了解AT32F415cmp 的寄存器分布、时钟频率等参数,以便编写出符合其硬件特性的代码。

(3)编写代码:根据例程功能和AT32F415cmp 的架构,编写相应的代码。

在编写过程中,需要注意代码的结构清晰、注释详细,以便他人阅读和理解。

(4)调试与优化:编写完成后,需要对例程进行调试和优化,确保其功能正确、性能优良。

【4.AT32F415cmp 例程的应用案例】以下是一个使用AT32F415cmp 例程进行UART 通信的简单示例:(1)初始化UART:首先,需要配置UART 的相关寄存器,如波特率、数据位、停止位等。

(2)发送数据:通过调用UART_Send() 函数,将数据发送到UART 接口。

【安富莱STM32H7教程】第1章初学STM32H7的准备工作

【安富莱STM32H7教程】第1章初学STM32H7的准备工作

【安富莱STM32H7教程】第1章初学STM32H7的准备⼯作第1章初学STM32H7的准备⼯作俗话说万事开头难,学习⼀门新的知识,难的往往不是知识本⾝,⽽是如何快速上⼿,需要什么资料和开发环境。

⼀旦上⼿后,深⼊的学习就相对容易些了。

1.1 初学者重要提⽰1.2 开发环境说明1.3 STM32H7和F1,F4系列的区别1.4 STM32H7开发资源查找1.5 HAL库介绍1.6 CMSIS软件包1.7 STM32CubeMX图形平台1.8 STM32H7调试⽅法1.9 STM32H7出现硬件异常的解决办法1.10总结1.1 初学者重要提⽰1、关于学习⽅法问题,可以看附件章节A。

2、学会 STM32H7相关资源的获取⽅法,做到⼼中有数,否则⼼⾥⽼是没底。

3、关于MDK和IAR两种编译器,推荐都掌握,以其中⼀个为主,另⼀个为辅。

因为很多时候我们需要参考的⼯程代码不是⾃⼰熟悉的编译器,就会很被动。

4、相对于F1、F4系列,H7最⼤的区别的还是MPU和Cache的配置,这两个配置会贯穿整个教程为⼤家做讲解,⽽外设的学习⼤同⼩异。

5、 H7携带了DTCM和ITCM,ITCM⽤于运⾏指令,也就是程序代码,DTCM⽤于数据存取,特点是跟内核速度⼀样,⽽⽚上的其它RAM 主频都是200MHz,所以要充分发挥TCM的性能。

6、 STM32H7系列只有HAL库,没有再配套标准库了,这点要知道。

HAL库的优点是配置⽅便,特别是配合图形开发⼯具STM32CubeMX 时,缺点是源代码稍显臃肿,封装的有点多。

7、这⼏年涌现出好⼏款⾮常棒的调试⼯具(如Event Recoder,SEGGER RTT),教程的后⾯章节会为⼤家做讲解。

1.2 开发环境说明1、 IDE:⽀持两种IDE开发环境,MDK和IARa. MDK推荐使⽤MDK5.26正式版及其以上版本。

b. IAR固定使⽤IAR8.3版本,由于IAR向下兼容性稍差,其它版本未做⽀持。

安富莱 压缩算法

安富莱 压缩算法

安富莱压缩算法安富莱(AntFlay)压缩算法是一种高效的数据压缩算法,它能够将文件大小减小到原始大小的一小部分,同时保持数据的完整性和可解压性。

本文将详细介绍安富莱压缩算法的原理、优势以及应用领域。

一、算法原理安富莱压缩算法采用了一种基于字典的压缩方法,其核心思想是通过构建和利用字典来对数据进行压缩。

具体步骤如下:1. 建立初始字典:将输入数据划分为不重复的字符序列,并建立一个初始字典,字典中包含所有可能出现的字符。

2. 编码:从输入数据中读取字符序列,并在字典中查找与之匹配的最长字符序列,将其对应的编码输出,并更新字典。

3. 压缩:将编码后的数据按照一定规则进行压缩,减小数据的大小。

二、优势1. 高压缩率:安富莱压缩算法能够将文件大小压缩到原始大小的一小部分,大大减少了存储和传输的成本。

2. 快速解压:安富莱压缩算法的解压速度非常快,能够快速还原原始数据,提高了数据的读取效率。

3. 低资源消耗:安富莱压缩算法在压缩和解压的过程中,消耗的计算资源相对较低,适用于各种计算设备。

4. 数据完整性:安富莱压缩算法采用的是无损压缩方法,压缩后的数据与原始数据完全一致,不会丢失任何信息。

三、应用领域安富莱压缩算法在各个领域都有广泛的应用,如下所示:1. 文件压缩:安富莱压缩算法可以将各类文件进行高效压缩,减小文件的大小,节省存储空间,并且在解压缩时能够快速还原原始文件。

2. 数据传输:在网络传输中,安富莱压缩算法可以将数据压缩后再进行传输,减小数据包的大小,提高传输速度,降低网络延迟。

3. 数据库存储:将数据库中的数据使用安富莱压缩算法进行压缩,可以减少数据库的存储空间,提高数据库的读写性能。

4. 图像压缩:安富莱压缩算法在图像压缩领域也有广泛应用,可以将图像文件的大小减小到原始大小的一小部分,同时保持图像的清晰度。

总结:安富莱压缩算法是一种高效的数据压缩算法,能够将文件大小减小到原始大小的一小部分,同时保持数据的完整性和可解压性。

安富莱STM32F103ZE-EK开发板用户手册(V2.1)

安富莱STM32F103ZE-EK开发板用户手册(V2.1)

安富莱S T M32F103Z E-E K开发板用户手册版本:V2.1安富莱电子开发网W W W.A R M F L Y.C O M友情提示:本文档是最新版硬件(REV 2.0)的用户手册,旧版硬件和新版硬件的差别请参考文档末尾的“硬件特殊说明”。

官方网站发布的软件主要针对新版硬件,REV 1.0版用户下载新版软件时,务必阅读“REV 2.0和REV1.0硬件差别”。

由于采购价格和采购渠道的差异,不同时间段出厂的板子配置的SRAM、NOR Flash和NandFlash的具体型号可能不同,但是容量是符合要求的。

光盘上提供的例程均支持所有曾经用到过的芯片。

1.产品规格简介STM32F103ZE-EK开发板以STM32F103ZET6(LQFP144)为核心。

STM32F103ZE 是ST(意法半导体)公司推出的ARM Crotex-M3产品线中功能最强大的一款CPU。

片内集成512kB Flash、64kB RAM、1个USB、1个CAN、 8个定时器、5个USART、3个ADC、2个DAC、3个SPI、2个I2C、2个I2S、1个SDIO、112个GPIO、FSMC总线(支持NOR,NAND,SRAM)。

CPU主频72MHz,广泛适用于各种应用场合。

本开发板具备丰富的硬件资源,配套的试验例程均提供源代码,文档齐备,非常适合于学习和项目评估。

硬件资源■ 8M晶振作为MCU的时钟,32768晶振用于RTC ■ 1M字节SRAM,16M字节NOR Flash,128M字节NADN Flash■ 2M字节串行Flash,256字节串行EEPROM■ 1个SD/MMC卡座■ 1个CAN2.0A/B接口■ 2个RS232串口■ 1个RS485接口■ 1个USB2.0全速DEVICE接口■ 1个USB2.0全速HOST接口■ 1个100M/10M以太网接口■ I2S音频CODEC(24bit,48kHz),1个立体声耳机插座,1个MIC插座,1个咪头,1个扬声器■ 3.0寸TFT真彩触摸LCD(WQVGA,400x240)■ 集成FM调频收音机模块■ 1个红外遥控接收模块,1个红外遥控发射器 ■ 1个5向摇杆,1个Reset按钮、1个wakeup按钮、1个自定义按钮■ 4个自定义LED,1个电源LED,1个音频LED■ 1个CR1220电池座■ 1个精密可调电阻连接到ADC输入■ 所有的GPIO引到2.54mm间距焊盘■ 1个DAC引出端子,1个PWM引出端子■ 标准2.54mm间距JTAG插座■ 2个BNC输入端子,集成双通道示波器电路,具备AC/DC切换、输入增益切换开关■ 3种供电方式:USB电缆、外接5V电源、JTAG 调试接口(J-LINK仿真器)■ 1个电源开关,上下电时无需拔插电缆■ 3种启动方式:用户Flash、系统存储器、SRAM ■ 用拨码开关取代跳线帽,避免跳线帽丢失■ 板子规格:14cm x 12cm软件资源■ 提供100多个试验例程■ 提供uCOS_II+ucGUI例程和文档■ 即将展开USB虚拟示波器项目源码■ 即将移植ucLinux (硬件资源已满足要求)■ 更多的软件资源将在发布包装清单(标配)■STM32F103ZE-EK开发板1块■ 3.0寸TFT触摸显示模块1块■1根串口线、1根网线、1根USB电缆■开发板配套光盘1张标配件实物:选配件实物:2.入门须知2.1.注意事项(1)外接电源必须是5.0V 的直流电源,插头有极性,内正外负。

安富莱C语言编码规范

安富莱C语言编码规范
以下提供两种命名方式以供参考:
z 各程序模块的文件命名开头 2 个消协字母代表本模块的功能:
如:主控程序为 mpMain.c,mpDisp.c …
z 不写模块功能标识:
如:主控程序为 Main.c,Disp.c …
(4) 一个软件包或一个逻辑组件的所有头文件和源文件建议放在一个单独的目录下,这样有利于查找 并使用相关的文件,有利于简化一些编译工具的设置。
z 文件尾注释
(7) 在引用头文件时,不要使用绝对路径。如果使用绝对路径,当需要移动目录时,必须修改所有相
关代码,繁琐且不安全;使用相对路径,当需要移动目录时,只需修改编译器的某个选项即可。
例如: #includ使用绝对路径 */
#include “../inc/hello.h”
空格时不要连续留两个以上空格。
示例:
z 逗号、分号只在后面加空格。 int_32 a, b, c;
z 比较操作符,赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符
"<<"、"^"等双目操作符的前后加空格。
if (current_time >= MAX_TIME_VALUE) a = b + c; a *= 2; a = b ^ 2;
(11) 如果其它模块需要引用全局变量 g_ucPara, 只需要在文件开头包含 module1.h /* 模块 2 实现文件:module2.c */
#include “module1.h” /* 在模块 2 中包含模块 1 的 .h 文件 */
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*
* (2)PC机控制开发板上的LED试验
* 运行TcpTest软件,在命令输入窗口输入控制LED的命令字符串,然后点击发送,开发板
* 上对应的LED灯会发生变化。TcpTest软件有8个按钮,点击后可以直接发送Led的控制
* 命令。
* 命令代码如下: (末尾无0x00和回车字符)
* ledon 1 ----- 点亮LED1
例程名: Ex009-TFT示波器
* 内容简述: 本例程是一个简单的手持双踪示波器(距离实用还有一定距离)
* PC0管脚采集通道1的波形,用了ADC1 和DMA1_1。
* PC1管脚采集通道2的波形,用了ADC3 和DMA2_5。
* 使用TIM1_CC2作为ADC1和ADC3的外部触发源,TIM1频率决定了ADC采样频率。
* 摇杆下键: 降低背光亮度
* 摇杆左键: 显示:重新刷新当前页面
******************************************************************************************************
* web测试页面
******************************************************************************************************
* 本例程移植uIP-1.0协议栈,演示开发板和PC间的TCP通信。自定义了一个简单的应用层
* 通信协议。本例程实现的功能有:
* (1)通过PC机控制板子上的LED;
* (2)测试TCP上传速度和TCP下传速度。
* (3)在不影响通信的条件下实现了按键的检测和打印键值功能。
*
* 安富莱STM32F103ZE-EK开发板选用的网卡芯片DM9000AE,该芯片可自适应10M/100M
* (1)点击windows 开始-运行,执行cmd命令,然后在dos窗口输入 ping 192.168.1.10
* 应该看到如下结果:
* Reply from 192.168.1.10: bytes=32 time<1ms TTL=128
* Reply from 192.168.1.10: bytes=32 time<1ms TTL=128
******************************************************************************************************
例程名: Ex004-实用的按键处理例程软件滤波+FIFO
本例程演示如何实现按键的滤波以及按键FIFO队列的处理。systick配置为1ms中断,在中断服务程序实现所有按键的检测滤波。
******************************************************************************************************
例程名: Ex007-TFT显示文字图片
本例程演示如何操作TFT显示屏。安富莱开发板标配的显示器是3.0寸的宽屏
给初学者:
为了使初学者能够独立构建实用的应用程序,这些例程按照次序从简单到深入,逐步引导初学者掌握最关键的信息。
Ex001教大家如何在程序中增加调试打印信息,这是很关键的一步,因为后面的大部分例程都将借助串口工具来交互。
Ex002教大家如何操作GPIO。这个例子对按键的采样未作滤波处理,是不能用于实际项目的。
* 接线端子的DAC1的输出频率10KHz的正弦波。可以通过示波器探头去探测。
*
* 操作提示:
* TAMPER键 = 切换通道焦点。CH1或CH2
* WAKEUP键 = 显示帮助或退出帮助
* USER 键 = 暂停或实时运行
* 摇杆上键 = 放大波形垂直幅度或向上移动
* 摇杆下键 = 缩小波形垂直幅度或向下移动
* (3)以后页面显示每个区的汉字
*
* 操作提示:
* 摇杆上键: 增加背光亮度
* 摇杆下键: 降低背光亮度
* 摇杆左键: 显示上一页内容
* 摇杆右键: 显示下一页内容
* 摇杆OK键:返回首页
*
* 注意:在运行本例程前,需要先烧写汉字库到CPU内部Flash
例程名: Ex002-GPIO输入和输出
该例程演示如何操作GPIO。按下摇杆的上下左右键,串口会打印出键值,并点亮对应的LED。
******************************************************************************************************
* Reply from 192.168.1.10: bytes=32 time<1ms TTL=128
* Reply from 192.168.1.10: bytes=32 time<1ms TTL=128
*
* (2)打开IE浏览器,在地址栏输入http://192.168.1.10 可以看到uIP内置的
* Reply from 192.168.1.10: bytes=32 time<1ms TTL=128
* Reply from 192.168.1.10: bytes=32 time<1ms TTL=128
* Reply from 192.168.1.10: bytes=32 time<1ms TTL=128
******************************************************************************************************
例程名: Ex005-PWM调节LCD背景光
本例程演示如何配置PWM输出,通过调节波形的占空比,从而影响LCD背景光的亮度。上键和下键可以调节LCD亮度。通过windows的超级终端可以观察到亮度信息。
* 连接,自动识别直连网线和交叉网线。
* 本例程设置的缺省IP地址是 192.168.1.10,默认的TCP监听端口是1000。
* 开发板工作在TCP服务器模式。PC机工作在TCP客户端模式。
* PC机上需要运行TcpTest软件,C++ Builder 6.0(sp4)开发,提供源码。
******************************************************************************************************
例程名: Ex006-ADC采样和滤波
本例程演示如何操作ADC (没有使用DMA)。调节精密可调电阻则串口打印出来的ADC采样值会实时变化。程序对ADC采样值做了滤波处理,因此PC超级终端上显示出来的采样值很稳定。注意:必须用超级终端工具,其它简单的串口工具会打印很多信息,而PC的超级终端支持只回车不换行显示。
例程名: Ex003-SYSTICKSysTick实现软件延迟和定时器
该例程通过SYSTICK中断实现1ms定时器,在1ms定时中断服务程序实现了多个软件定时器的。主程序通过软件定时器控制4个LED按不同的周期闪烁。该例程是典型的前后台工作模式,主程序等待中服务程序提供的事件标志然后做相应的处理。
下面的例程由安富莱电子开发网原创,将逐步公布。
(1)每个例子同时包含IAR和KEIL的工程。
(2)每个例子可选择在内部Flash运行、内部RAM和外部SRAM运行。(我大部分时间都选择在CPU内部RAM调试这些例程,因为装载时间比下载到Flash快很多)
(3)使用的ST固件库版本3.1.2
* 字库文件:XZKs1516.bin 字库文件大小 :267,616 ,占用 1046个扇区
* 请使用J-LINK烧写bin文件,地址填 :0x803EA00
******************************************************************************************************
例程名: Ex001-串口printf和scanf
该例程将printf函数和scanf函数重定向到串口1(USART1)。主函数循环调用scanf函数和printf函数,从串口1接收3个整数和1个字符串,然后再调用printf函数输出到串口1。通过windows的超级终端进行操作。
******************************************************************************************************
* ledoff 4 ----- 关闭LED4
* txtest ----- 通知目标板进入上传测试状态。
* rxtest ----- 通知目标板进入传测试状态。
* 摇杆左键 = 水平展宽波形
* 摇杆右键 = 水平缩小波形
* 摇杆OK键 = 切换摇杆调节模式。幅度或位置
******************************************************************************************************
* 用户可以做如下测试:
* (1)ping 试验
* 点击windows 开始-运行,执行cmd命令,然后在dos窗口输入 ping 192.168.1.10
* 应该看到如下结果:
相关文档
最新文档