-
pic12LF系列和pic16LF系列怎样设置最小功耗 sos
1、只run内部RC时钟,16Khz搜索 [align=left]复制[/align] 2、外围只有按键输入,无大器件驱动 3、无需用AD 请教大牛怎样设置
1124浏览量 0回复量 关注量 -
请教labview程序生成问题 sos
程序可以在编程环境下运行,生成时报错无法生成程序 ,报错如下: 生成时VI断开,该VI已设置为不保存程序框图。解决方法包括:打开程序生成规范,将该VI的设置更改为包含程序框图;或者启用调试从而包含所有VI的程序框图。将该错误报告给National Instruments技术支持。 C:\Program Files (x86)\National Instruments\LabVIEW 2018\vi.lib\ActorFramework\Actor\Actor Core.vi 单击以下链接,访问“应用程序生成器”支持页。参考以下信息: 错误1502发生于 AB_Source_VI.lvclass:Close_Reference.vi -> AB_Build.lvclass:Save.vi 可能原因: LabVIEW: (Hex 0x5DE) 缺少程序框图时无法保存错误VI。
2239浏览量 0回复量 关注量 -
GD32F103C8T6切换HSE时,超时退出
开发环境:CubeMx生成代码,在Keil中调试,HSE为8M。仿真器是ST-Link V2.1 问题描述: 可以正常仿真和跟踪调试,使用HSI时没有任何问题。 但如果HSE就不行了,在执行if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)时发生错误, 单步跟踪时发现是在这里:while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET),一直循环,然后超时退出 按网上的说法,改大HSE_TIMEOUT_VALUE至0xffff,还是不行,等待许久后,还是会超时退出。 请问是什么问题,如何解决
1543浏览量 1回复量 关注量 -
GD32F403RCT6禁用JTAG口后IO口任然无法使用 sos
// 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能 gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP , ENABLE); 用着个函数后正常设置PA15为输出口,连接一个LED,但是不受控,用的是GD32F403_Firmware_Library_V2.1.1库里面的例子修改的
3309浏览量 0回复量 关注量 -
AT32F421K8U7怎么配置HSI为48MHz???
我直接在固件库里做了修改,不知道为何不行 static void SetSysClockTo48M(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; // 把RCC外设初始化成复位状态,这句是必须的 RCC_Reset(); //使能HSI RCC_HSICmd(ENABLE); // 只有 HSI就绪之后则继续往下执行 if (RCC_GetFlagStatus(RCC_FLAG_HSISTBL )) { //----------------------------------------------------------------------// FLASH->ACR = FLASH_ACR_DEFAULT(FLASH_ACR_LATENCY_1); //----------------------------------------------------------------------// // AHB预分频因子设置为1分频,HCLK = SYSCLK RCC_AHBCLKConfig(RCC_SYSCLK_Div1); // APB2预分频因子设置为1分频,PCLK2 = HCLK RCC_APB2CLKConfig(RCC_AHBCLK_Div1); // APB1预分频因子设置为1分频,PCLK1 = HCLK RCC_APB1CLKConfig(RCC_AHBCLK_Div1); // 设置PLL时钟来源为HSE,设置PLL倍频因子 // PLLCLK = 4MHz * pllmul RCC_PLLConfig(RCC_PLLRefClk_HSI_Div2, 12,RCC_Range_LessEqual_72Mhz); //------------------------------------------------------------------// // 开启PLL RCC_PLLCmd(ENABLE); // 等待 PLL稳定 while (RCC_GetFlagStatus(RCC_FLAG_PLLSTBL) == RESET) { } // 当PLL稳定之后,把PLL时钟切换为系统时钟SYSCLK RCC_SYSCLKConfig(RCC_SYSCLKSelction_HSI); // 读取时钟切换状态位,确保PLLCLK被选为系统时钟 while (RCC_GetSYSCLKSelction() != 0x08) { } } else { while (1) { } }
1478浏览量 2回复量 关注量 -
HK32F030C8主频无法超过36MHz
原先使用的STM32030C8,代码也是用STM的时标准库写的,直接换航顺的HK32F030C8上去,程序运行到时钟配置时不行了。时钟配置代码: static void RCC_Configuration(void) { u16 i; 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及以上时程序就不行了。
5942浏览量 35回复量 关注量 -
请教GD32F303RCT6ADC在1.5M下采集频偏为2K左右
GD32F303RCT6在外部晶振为8M系统主频为120M时,ADC采样率配置为1.5M采集信号发生器150K信号,做FFT变换时频偏为2K左右
1081浏览量 2回复量 关注量 -
使用GD32F103RCT6T替代stm32 使用内部晶振提升108M sos
使用GD32F103RCT6T替代stm32 使用内部晶振提升108M,使用st库,怎么修改求助大侠,还有怎么注意的
1519浏览量 0回复量 关注量 -
STC15W4K61S4,内部rc串口二异常
使用内部22.1184m rc,产生115200或者9600的波特率,输出都是乱码, 只有换成内部11.0592m rc输出才能正常,是什么原因? 这款单片机内部rc最高27m,串口计算器在22.1184m时115200和9600误差是零,下载校准频率误差不超过0.1% 什么原因可能导致的在非115200波特率时乱码? 初始化如下 void UartInit(void) //115200bps@22.1184MHz { P_SW2 &= 0xfe; //选择p10/p11位置为串口2 S2CON = 0x50; //8位数据,可变波特率 AUXR &= 0xFB; //定时器2时钟为Fosc/12,即12T T2L = 0xFC; //设定定时初值 T2H = 0xFF; //设定定时初值 AUXR |= 0x10; //启动定时器2 IE2 |= 0x01; //使能串口2中断 AUXR |= 0x14; //启动定时器2 }
6403浏览量 3回复量 关注量 -
求裸片MCU推荐 16个12位/10位 ADC ,保守估计 20~80K.月
[i=s] 本帖最后由 jrcsh 于 2020-11-29 18:53 编辑 [/i] 求裸片MCU推荐 3.3 ro 5V ,>IO18, 16个12位/10位 ADC ,保守估计 20~80K.月 广东交货, 下载视频 报价的请发邮箱 [email]jrcsh@qq.com[/email] 主题:JDS-LDC-20201128
2060浏览量 8回复量 关注量 -
msp430f5529 进不了定时器中断
程序如下,但是进不了中断,有谁知道可以告诉我么? char buffer[255]; int flag = 0,cont = 0; char data[3]= {'0','0','\0'}; uint8_t data1 = 0; uint16_t intialWheelValue = 0; uint16_t wheelValue = 0; FRESULT WriteFile(char* fileName, char* text, WORD size); void TimerB_Init(void); void DataAcq() { char data[3]= {'0','0','\0'}; uint8_t data1 = 0; uint16_t intialWheelValue = 0; uint16_t wheelValue = 0; TimerB_Init(); Dogs102x6_init(); Dogs102x6_clearScreen(); Buttons_interruptEnable(BUTTON_ALL); //按键中断使能 buttonsPressed = 0; intialWheelValue = Wheel_getValue(); // 得到初始齿轮电位计采样值 __enable_interrupt(); //使能全局中断 while(!(buttonsPressed & BUTTON_S2)){ Dogs102x6_stringDraw(3, 45, &data[0], DOGS102x6_DRAW_INVERT); //显示数 wheelValue = Wheel_getValue(); data1 = wheelValue/68; //得到当前齿轮电位计采样值 if (intialWheelValue != wheelValue){ //若当前齿轮电位计采样值与初始齿轮电位计采样值不同,进行小时重置 if (data1 < 10){ data[0] = '0'; data[1] = '0' + data1; } else if (data1 < 20){ data[0] = '1'; data[1] = '0' + (data1 - 10); } else if (data1 < 30){ data[0] = '2'; data[1] = '0' + (data1 - 20); } else if (data1 < 40){ data[0] = '3'; data[1] = '0' + (data1 - 30); } else if (data1 < 50){ data[0] = '4'; data[1] = '0' + (data1 - 40); } else if (data1 < 60){ data[0] = '5'; data[1] = '0' + (data1 - 50); } else { data[0] = '6'; data[1] = '0'; } } } } FRESULT WriteFile(char* fileName, char* text, WORD size) { // Result code FRESULT rc; // File system object FATFS fatfs; // File object FIL fil; UINT bw; // Register volume work area (never fails) f_mount(0, &fatfs); // Open file rc = f_open(&fil, fileName, FA_READ | FA_WRITE | FA_OPEN_ALWAYS); if (rc) { die(rc); } //指针指到文本最后 rc = f_lseek(&fil, f_size(&fil)); if(rc) { die(rc); } // Write to file rc = f_write(&fil, text, size, &bw); if (rc) { die(rc); } // Close the file rc = f_close(&fil); if (rc) { die(rc); } return rc; } /*定时器初始化*/ void TimerB_Init(void) { TB0CCR0 = 32768; TB0CTL = TBSSEL_0+TBCLR+MC_1; // TB0CCTL0 = CCIE; } #pragma vector = TIMERB0_VECTOR __interrupt void Timer_B0(void) { cont = cont+1; if(cont == 1) { cont = 0; flag = 1; buffer[0] = '['; buffer[1] = data[0]; buffer[2] = data[1]; buffer[3] = ']'; WriteFile("1.txt",buffer,4); //写入数据 } }
807浏览量 1回复量 关注量 -
谁能给解释下MS51FB9AE官方给提供的修改24M主频的函数?
[i=s] 本帖最后由 taobaofarmer 于 2020-9-12 15:35 编辑 [/i] 官方给提供的例程,在Sample_Code->RegBased->Fsys_MoidfyHIRC->FSYS_MHIRC.C->MODIFY_HIRC(HIRC_24);函数里,该函数我给整理了下,只保留调整主频位24M的功能,代码如下: void Make_HIRC_24MHz(void) { u8 idata hirc_map0, hirc_map1; //Check if power on reset, modify HIRC SFRS = 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位unique id吗? 另外?1处 SFRS = 0;啥意思,难道是翻到SFR页0的意思吗?如果这是这样的话,SFRS寄存器是有TA保护的,单单SFRS = 0;是不行的呀?
2348浏览量 22回复量 关注量