-
MM32F103RET6 SPI1设置问题
voidSPI1_Init(void){SPI_InitTypeDefSPI_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);//SPI1clkenableGPIO_PinAFConfig(GPIOA,GPIO_PinSource4,GPIO_AF_0);GPIO_PinAFConfig(GPIOA,GPIO_PinSource5,GPIO_AF_0);GPIO_PinAFConfig(GPIOA,GPIO_PinSource7,GPIO_AF_0);GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_0);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;//spi1_cspa4GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//spi1_sckpa5GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//推免复用输出GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;//spi1_mosipa7GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//推免复用输出GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;//spi1_misopa6GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//推免复用输出GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GT22L_HOLD;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GT22L_HOLD_PORT,&GPIO_InitStructure);GT22L_HOLD_H;SPI_InitStructure.SPI_Mode=SPI_Mode_Master;SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;//DMA数据宽度SPI_InitStructure.SPI_DataWidth=SPI_DataWidth_8b;SPI_InitStructure.SPI_CPOL=SPI_CPOL_High;//mode0SPI_CPOL_Low,SPI_CPHA_1Edge;SPI_InitStructure.SPI_CPHA=SPI_CPHA_2Edge;//mode
2021-06-19 7 -
HK32F103RBT6能否完全代替ST?
如题,请大家帮忙看一下,航顺的芯片能否完全替换掉ST的STM32F103RBT6?还是在有功能限制的情况下能够完全替换。
2021-02-01 20 -
HK32F030C8主频无法超过36MHz
原先使用的STM32030C8,代码也是用STM的时标准库写的,直接换航顺的HK32F030C8上去,程序运行到时钟配置时不行了。时钟配置代码:staticvoidRCC_Configuration(void){u16i;RCC_DeInit();/*使能HSI*/RCC_HSICmd(ENABLE);/*设置PLL时钟源及倍频系数*/RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_12);//16MHz(RCC_PLLMul_4),36MHz(RCC_PLLMul_9),48MHz(RCC_PLLMul_12)。/*使能PLL*/RCC_PLLCmd(ENABLE);i=1000;while((RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)&&(--i>0));/*设置系统时钟(SYSCLK)*/RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);SystemCoreClockUpdate();}将RCC_PLLMul_12改为RCC_PLLMul_9或以下时,程序运行正常。RCC_PLLMul_10及以上时程序就不行了。
2021-01-23 35 -
CH579 BLE的sleep时间单位是什么
WAKE_UP_RTC_MAX_TIME-睡眠唤醒所需时间,根据不同睡眠类型取值可分为:睡眠模式/下电模式-65(默认)这个单位是什么?ms?还是计数值?
2020-09-29 5 -
CH32F103 的USB有没有仿真CH340的例程?
CH32F103的USB有没有仿真CH340的例程?
2020-09-29 3 -
请问NUC980到底应该是用BUILDROOT开发还是用BSP开发?
请问NUC980到底应该是用BUILDROOT开发还是用BSP开发?感觉文档有点前后不一致啊。
2020-09-17 2 -
NUC980驱动SDIO的WIFI模块失败
自己画的NUC980板子,板载了AP6181模块,内部为43362,驱动失败。新唐有没有提供此类WIFI模块的配置方法。有人用NUC980驱动成功过SDIO的WIFI模块吗,NUC980所提供的内核源码支持哪几种SDIO的WIFI模块?
2020-09-12 11 -
谁能给解释下MS51FB9AE官方给提供的修改24M主频的函数?
本帖最后由taobaofarmer于2020-9-1215:35编辑官方给提供的例程,在Sample_Code->RegBased->Fsys_MoidfyHIRC->FSYS_MHIRC.C->MODIFY_HIRC(HIRC_24);函数里,该函数我给整理了下,只保留调整主频位24M的功能,代码如下:voidMake_HIRC_24MHz(void){u8idatahirc_map0,hirc_map1;//Checkifpoweronreset,modifyHIRCSFRS=0;//?1处IAPAL=0x38;set_IAPEN;{IAPAH=0x00;IAPCN=READ_UID;//?2处set_IAPGO;hirc_map0=IAPFD;IAPAL++;set_IAPGO;hirc_map1=IAPFD;}clr_IAPEN;TA=0xAA;TA=0x55;{RCTRIM0=hirc_map0;}TA=0xAA;TA=0x55;{RCTRIM1=hirc_map1;}//禁止低功耗模式PCON&=CLR_BIT4;}首先说明这个函数在MS51FB9AE上执行是失败的,大体过程我知道,是从系统默认的配置里读出24M主频的高低字节配置信息,然后写入RCTRIM0和RCTRIM1里,但是在?2处,为何IAPCN的指令是READ_UID呢?这个指令不是读芯片内部96位uniqueid吗?另外?1处SFRS=0;啥意思,难道是翻到SFR页0的意思吗?如果这是这样的话,SFRS寄存器是有TA保护的,单单SFRS=0;是不行的呀?
2020-09-11 22