MultiDAQ

所属分类:单片机开发
开发工具:C/C++
文件大小:4085KB
下载次数:34
上传日期:2012-01-27 12:28:49
上 传 者LabVIEW解题
说明:  LabVIEW STM32103 VISA 串口示波器 6路AD采样 2路PWM输出 DIO 数字输入输出
(LabVIEW STM32103 VISA Serial communication 2PWM out DIO Wavefrom)

文件列表:
MultiDAQ\builds\Untitled Project 1\My Application\Application.aliases (40, 2011-12-31)
MultiDAQ\builds\Untitled Project 1\My Application\Application.exe (233472, 2011-12-31)
MultiDAQ\builds\Untitled Project 1\My Application\Application.ini (323, 2011-12-31)
MultiDAQ\builds\Untitled Project 1\My Application (0, 2011-12-31)
MultiDAQ\builds\Untitled Project 1\My Application.rar (185380, 2011-12-31)
MultiDAQ\builds\Untitled Project 1 (0, 2011-12-31)
MultiDAQ\builds (0, 2011-12-31)
MultiDAQ\F103RBT6_Code\lib\inc\misc.h (8982, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_adc.h (21690, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_bkp.h (7555, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_can.h (27559, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_cec.h (6573, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_crc.h (2162, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_dac.h (15233, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_dbgmcu.h (3818, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_dma.h (20754, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_exti.h (6824, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_flash.h (25445, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_fsmc.h (27016, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_gpio.h (20175, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_i2c.h (30029, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_iwdg.h (3828, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_pwr.h (4383, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_rcc.h (30452, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_rtc.h (3857, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_sdio.h (21863, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_spi.h (17725, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_tim.h (52427, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_usart.h (16548, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc\stm32f10x_wwdg.h (2966, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\inc (0, 2011-12-28)
MultiDAQ\F103RBT6_Code\lib\src\misc.c (7046, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\src\stm32f10x_adc.c (47201, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\src\stm32f10x_bkp.c (8463, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\src\stm32f10x_can.c (45103, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\src\stm32f10x_cec.c (11656, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\src\stm32f10x_crc.c (3347, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\src\stm32f10x_dac.c (19087, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\src\stm32f10x_dbgmcu.c (5149, 2011-03-10)
MultiDAQ\F103RBT6_Code\lib\src\stm32f10x_dma.c (29607, 2011-03-10)
... ...

外部三个按钮中断还不是太懂。回头看一下。 启动了系统定时器SysTick功能,实现1mS中断一次用于系统时钟计数。 以查询方法产生20mS和100mS,1S分配时间段处理程序。程序中不使用Delay这样的浪费CPU的代码。 使用了以下功能 GPIO基本输入输出功能,四个按钮 定时器2定时中断 1ms 用于多线程任务定时中断处理 定时器3用于四路(两路)PWM不使用中断的定时输出功能 USART0的串口通信功能,串口发送两路的ADC转换数据 三路的模拟量输入功能,通过MDA读取,不占用CPU,不使用中断。 开启了WWDG看门狗 WWDG看门狗配置 允许喂狗时间为10ms-50ms,程序喂狗时间正常为20ms 所以程序中不应该有delay等长耗时的命令。 时钟配置 AHB设备时钟为系统时钟1分频 72M AHB1设备时钟为HCLK时钟2分频 36M AHB2设备时钟为HCLK时钟1分频 72M ADC时钟为AHB2时钟的6分频 AHB2为72,72/6=12M FLASH的的延时周期为2周期 串口配置如下 - BaudRate = 115200 baud - Word Length = 8 Bits - One Stop Bit - No parity - Hardware flow control disabled (RTS and CTS signals) - Receive and transmit enabled 引脚使用说明 输入IO PA0,PA1,PA2 按钮输入 输出IO PB8,PB9,PB10,PB11 为四个指示灯 定时器 TIM1 CH1 PA8 PWM输出 定时器 TIM1 CH4 PA11 PWM输出 定时器 TIM2 产生定时中断 定时器 TIM3 ETR PD2 计数 模拟输入 PC0-PC5 配置为6路的模拟输入 AI输入 PC0, PC1, PC2, PC3, PC4, PC5 数字输入 PC6-PC9 配置为4路的数字输入 数字输出 PC10-PC12 配置为3路的数字输出 16-bit Timers with Input Capture, Output Compare and PWM, 16-bit 6-ch Advanced Timer, 2 16-bit Watchdog Timers, SysTick Timer, TIM2定时中断用于多线程任务定时中断处理 USART接收发送 PA9,PA10 温度测量 18B20 PA8 定时器TIM1 CH1 USB PA11 USB PA12 串口通信协议 uint8_t TxBuffer1[] = {0x5A,0x01,0x00, 0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x5B}; 启始 地址 命令 数字 CH0 CH1 CH2 CH3 CH4 CH5 校验和 共17个字节的数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 uint8_t RxBuffer1[255] = 51 01 00 00 00 00 00 5B 的方式向上位发送信息 启始 地址 命令 数据1 数据2 校验和 共8字节 1 2 3 4 5 6 7 8 命令位 0x00 请求ADC的模拟转换数据输入和外部的按钮输入 这时数据1和数据2位无效 0x01 四位LED灯输出 这时数据1的高字节为LED数据 0x02 控制PWM脉冲输出频率 这时数据1为输出频率值 0x03 控制2通道的PWM输出脉冲的占空比 这时数据1为通道1的占空比,数据2为通道2的占空比。 0x04

近期下载者

相关文件


收藏者