野火stm32论坛(如何学习stm32 论坛)
本文目录
- 如何学习stm32 论坛
- 各位大神,求教啊,stm32 adc 多通道采集出错
- 原子STM32战舰和野火开发板哪个好我会51.想学STM32
- 秉火stm32是野火吗
- 学习stm32需要什么基础知乎
- 哪里有较好的学习STM32的论坛,求论坛
如何学习stm32 论坛
http://www.openedv.com/forums/list.htm
各位大神,求教啊,stm32 adc 多通道采集出错
/******************** (C) COPYRIGHT 2012 WildFire Team **************************** 文件名 :adc.c* 描述 :adc应用函数库 * 实验平台:野火STM32开发板* 硬件连接:----------------------------------------------------* | |* | PC1 - ADC1 连接外部电压(通过一个滑动变阻器分压而来)|* | |* ----------------------------------------------------* 库版本 :ST3.5.0 ** 作者 :wildfire team * 论坛 :#include "adc.h"#define ADC1_DR_Address ((u32)0x40012400+0x4c)__IO uint16_t AD_Value; 存放2个通道的值__IO uint16_t ADC_ConvertedValue;//__IO u16 ADC_ConvertedValueLocal;/** 函数名:ADC1_GPIO_Config* 描述 :使能ADC1和DMA1的时钟,初始化PC.01* 输入 : 无* 输出 :无* 调用 :内部调用*/static void ADC1_GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;/* Enable DMA clock */RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);/* Enable ADC1 and GPIOC clock */RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOC, ENABLE);/* Configure PC.01 as analog input */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;GPIO_Init(GPIOC, &GPIO_InitStructure); // PC0,输入时不用设置速率/* Configure PC.01 as analog input */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;GPIO_Init(GPIOC, &GPIO_InitStructure); // PC2,输入时不用设置速率}/* 函数名:ADC1_Mode_Config* 描述 :配置ADC1的工作模式为MDA模式* 输入 : 无* 输出 :无* 调用 :内部调用*/static void ADC1_Mode_Config(void){DMA_InitTypeDef DMA_InitStructure;ADC_InitTypeDef ADC_InitStructure;RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);//使能DMA时钟/* DMA channel1 configuration */DMA_DeInit(DMA1_Channel1);DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; //ADC地址DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&AD_Value;//内存地址DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;//BufferSize=2,因为ADC转换序列有2个通道//如此设置,使序列1结果放在AD_ValueDMA_InitStructure.DMA_BufferSize = 64;DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外设地址固定DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; //内存地址递增DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; //半字DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;//循环模式开启,Buffer写满后,自动回到初始地址开始传输DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; //循环传输DMA_InitStructure.DMA_Priority = DMA_Priority_High;DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;DMA_Init(DMA1_Channel1, &DMA_InitStructure);DMA_Cmd(DMA1_Channel1, ENABLE); //配置完成后,启动DMA通道/* ADC1 configuration */ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //独立ADC模式ADC_InitStructure.ADC_ScanConvMode = ENABLE ; //禁止扫描模式,扫描模式用于多通道采集ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //开启连续转换模式,即不停地进行ADC转换ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //不使用外部触发转换ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //采集数据右对齐ADC_InitStructure.ADC_NbrOfChannel = 2; //要转换的通道数目2ADC_Init(ADC1, &ADC_InitStructure);/*配置ADC时钟,为PCLK2的8分频,即9Hz*/RCC_ADCCLKConfig(RCC_PCLK2_Div8); /*配置ADC1的通道11为55. 5个采样周期,序列为1 */ ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_55Cycles5);ADC_RegularChannelConfig(ADC1, ADC_Channel_12, 2, ADC_SampleTime_55Cycles5);/* Enable ADC1 DMA */ADC_DMACmd(ADC1, ENABLE);/* Enable ADC1 */ADC_Cmd(ADC1, ENABLE);/*复位校准寄存器 */ ADC_ResetCalibration(ADC1);/*等待校准寄存器复位完成 */while(ADC_GetResetCalibrationStatus(ADC1));/* ADC校准 */ADC_StartCalibration(ADC1);/* 等待校准完成*/while(ADC_GetCalibrationStatus(ADC1));/* 由于没有采用外部触发,所以使用软件触发ADC转换 */ ADC_SoftwareStartConvCmd(ADC1, ENABLE);}/** 函数名:ADC1_Init* 描述 :无* 输入 :无* 输出 :无* 调用 :外部调用*/void ADC1_Init(void){ADC1_GPIO_Config();ADC1_Mode_Config();}/******************* (C) COPYRIGHT 2012 WildFire Team *****END OF FILE************/
原子STM32战舰和野火开发板哪个好我会51.想学STM32
其实都无所谓,我个人当时买的是原子的mini板。带JLINK 主要为了可以在线仿真调试。其实不管谁的板子最终目的是根据教程和通过做实验学会这个(这种)芯片的使用。原子的我当时买的时候是寄存器版那会还没出库函数版,不过对我这种本来C就不怎么样的感觉寄存器的还蛮顺手的(我也51转过来的)以至于现在看库函数的还是头大。不过这几天也在看库函数版,毕竟弄明白库后,以后换这类的芯片比如LPC\LM3S的可以直接通过库函数去开发不用研究底层寄存器了,还是有好处的。当然现在原子也有库函数版本的了。另外很多东西没必要要太高级的,主要的是你学会用法,比如MP3,收音机这类的之前估计51的就都用过了。。也会操作了。另外比如网络、USB、CAN、RS232\485这些感觉有用就去研究,没用可以不用那么高级的一般带上RS232能调试下USB及SD卡就可以了,会刷彩色TFT屏。毕竟之后你真正用不可能拿开发板用而是自己做板,关键就是学会这种芯片的用法就可以了。
秉火stm32是野火吗
是野火stm32硬件介绍:stm32也可以简称STM32芯片,64引脚,256KB闪存,QFP封装,高性能,工作温度为-40℃到85℃,成本低,stm32主要代表有ARM Cortex-M0 微控制器和ARM Cortex-M3 微控制器最具特色,以最小的硬件变化来满足个性化的应用需求。stm32硬件设计主要会用到面包板、洞洞板、电源芯片、二极管、自动数字万用表、三极管、STM32的烧录座等等,可以有效延长电池供电设备的充电间隔。此外,stm32硬件带唤醒功能的低功耗模式还可以兼容所有的ARM工具和软件,设计的还是非常满足用户的需求,比较受小型企业的青睐。
学习stm32需要什么基础知乎
你好学习stm32首先,关于STM32入门,这个可能需要的是指导教程和技术论文。说实话STM32并不难,因为你可以把它当做单片机来用,至少不会让你觉得入门很难的,具体的,你可以买个开发板,现在开发板市场上多的是,买个口碑好的,然后根据例程,再找个论坛或专题站就完全可以解决。其次,具体一点话,要学习STM32,第一步可能要理解系统时钟,因为不管你要用到任何片内外设或者是IO口什么的,首先第一步就是要初始化时钟.至于内部寄存器,说实话,确实很多,不过你用到某一块,在看那一块的寄存器,这样更有针对性.总的思路:时钟, == 》 GPIO, ==》 定时器, == 》 usart模块,这样在熟悉这些基础上,慢慢添加或开发其他模块的操作 , 至于资料, 芯片手册,和STM32官方提供的固件库使用手册就OK了.固件库呢,就是给你提供了函数,然后你就不用去研究它的寄存器了,通过那些函数就可以直接对STM32进行操作了,但是工作效率嘛,肯定是偏低了,不过刚学的时候可以参考一下,通过固件库函数来对STM32进行理解.
哪里有较好的学习STM32的论坛,求论坛
21ic,stmsky,等等
61ic
ouravr,这个不错,我一直都在这个论坛里讨论
更多文章:
三星s4换屏多少钱(我的三星GALaxys4屏幕裂了 换下要多少钱)
2023年3月1日 22:45
华为matebook x发布会(华为笔电、氮化镓充电器、路由器、智能音箱等新品正式发布)
2024年5月22日 16:27
watch out for(watchoutfor和lookoutfor的区别)
2023年7月25日 02:20
苹果小七多少钱(苹果7 32g刚买3天想换个7plus 128g还要填多少钱)
2023年3月27日 10:00
华硕m9f怎么装m2的固态硬盘?华硕m9f主板自带的wifi模块是怎么使用的
2024年6月27日 11:55
诺基亚6303ci话筒无声(诺基亚6303ci 银黑色的,通话声音小是否正常啊在商店里面买的朋友告诉我,网上的就别来说了)
2024年7月5日 21:39
gree空调遥控器(格力空调遥控器一按就没有数字了怎么解决)
2024年6月4日 06:20
iphone6s和6plus哪个好(苹果手机6s和6plus 哪个好)
2023年10月19日 16:30