摘要:
设置时钟:CMU_ClockSelectSet(cmuClock_HF,cmuSelect_HFXO);//32MHz配置NVIC:void NVIC_Config(void){ NVIC_InitTypeDef NVIC_InitStructure;#ifdef VECT_TAB_RAM NVIC_SetVectorTable(NVIC_VectTab_RAM,0x0);#else NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);#endif NVIC_PriorityGropConfig(NVIC_PriorityGrop_1... 阅读全文
摘要:
设置系统时钟:CMU_ClockSelectSet(cmuClock_HF,cmuSelect_HFXO);//32MHzNVIC配置:EFM32的库函数没有关于NVIC配置的库函数,所以我将stm32lxx中的相关库函数移植了进来,因为都是m3内核,NVIC的配置是一样的,只需要少量的修改即可。配置时要注意一下几点。1.stm32的flash起始地址是0x08000000,EFM32的flash起始地址是0x00000000。RAM地址一致。2.stm32的使能和失能是用枚举类型(ENABLE,DISABLE),EFM32使用的是stdbool.h头文件void NVIC_Config(vo 阅读全文
摘要:
设置系统时钟:CMU_ClockSelectSet(cmuClock_HF,cmuSelect_HFXO);//32MHzGPIO初始化:void LED_Init(void){ CMU_HFPRECLKEN0 |= (1P[3].MODEL |= (4P[3].DOUTTGL |= (1<<7);}延迟函数:void Delay(uint32_t dlyTicks){ uint32_t curTicks; curTicks = msTicks; while((msTicks-curTicks) < dlyTicks);}设置系统滴答时钟:void systick_c... 阅读全文
摘要:
此程序是配置EFM32的时钟频率,用OUTPUT_INTERNAL和OUTPUT_EXTERNAL来区分是内部时钟和外部时钟。通过用示波器测量PA1脚和PA2脚的频率,证明程序完全正确。#include #include #include "efm32.h"#include "efm32_chip.h"#include "efm32_cmu.h"#include "efm32_gpio.h"#define OUTPUT_INTERNAL 1 //GPIO输出内部振荡波形//#define OUTPUT_EXTERN 阅读全文
摘要:
前提是电脑主板上有蜂鸣器,该功能主要用于产生提示音。[DllImport("kernal32.dll")]private static extern int Beep(int dwFreq,int dwDuration);//第一个参数是发声频率,第二个参数是持续时间在程序中直接调用Beep函数就可以了 阅读全文
摘要:
要想使用DMA功能,首先使能DMA模块的时钟。RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);将SPI的接收和发送方式设置为DMA方式void SPI_Config(void){ SPI_I2S_DeInit(SPI1);//重置SPI1 SPI_InitStruct.SPI_Direction=SPI_Direction_2Lines_FullDuplex;//spi设置成双向双线全双工 SPI_InitStruct.SPI_Mode=SPI_Mode_Master;//SPI工作在主模式 SPI_InitStruct... 阅读全文
摘要:
Form1主窗体:public delegate void SetVisiableHandler();//定义委托类型private void button1_Click(object sender,EventArgs e)//单击事件,打开子窗体{ Form2 frm = new Form2(new SetVisiableHandler(SetVisiable)); frm.Show();}private void SetVisiable(){ dataGridView1.Rows.Add("123","456","789");}F 阅读全文