哪位师父能帮一下忙,教一下苏泊尔破壁机主板怎么接线
2021-10-21 15:54
设计一个电磁炉控制器:火力控制有三档:煮汤、火锅、煎炒;每种操作都可以设定时间,当时间到自动停火。显示设定时间和计时时间。
2012-11-24 20:32
如何使用单片机控制液晶屏设计多页显示菜单?
2021-11-26 07:25
为什么C21-SDHC19磁炉不加热也不报警呢?是什么原因造成的?如何解决?
2022-01-20 06:33
目前“匚式结构”与“桥式结构”被电压力锅生产企业广泛使用。 在我们探讨电压力锅的先进技术之前,我们先来了解电压力锅的工作原理。
2019-11-06 07:07
作为一个天天被工作伤害得倒地不起的上班族,最大的梦想自然是回到家后进厨房好好犒劳自己一顿,可惜的是饱餐过后沾满油污的待收拾的餐具永远那么引人注目,不得不把双手浸泡进冷水里用力搓揉碗筷。好在现在有洗碗机可以解放我们的双手,终于不用每次在饭后还得为洗碗问题愁苦不已。但是洗碗机的类型五花八门,独立式、嵌入式、水槽式,这三种洗碗机哪种最适合我们?
2019-10-22 07:19
本帖最后由 tbnet 于 2015-9-18 18:17 编辑 删除各位大师:帮忙看看此程序问题出在哪里?为何下载到开发板没反应呢?开发板用的是普中科技的HC6800EM3,3.2寸彩屏的IC是R61509V,用的是8位数据接口,接PB8-15,此程序是通过51的程序改的,51的程序可以用,但是STM32的程序用不了,找了两个星期了,实在找不到问题出在哪里?附件的两个文件:一个为可以运行的51单片机彩屏初始化程序,另一个为有问题的STM32程序。其主要内容见下面:/*1.*RCC配置******************************************************************************************************************************************************************************************/void RCC_PLL3_Configuration(void){/****1.SYSCLK时钟源配置**********************************************************************************///1.复位RCC外部设备寄存器到默认值(打开HSI时钟线路,其它的一律关闭)RCC_DeInit();//2.打开外部高速晶振 HSERCC_HSEConfig(RCC_HSE_ON); //3.等待外部高速HSE时钟准备好 while(RCC_GetFlagStatus(RCC_FLAG_HSERDY)==RESET); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);// FLASH_SetLatency(FLASH_Latency_2);// 这两句还搞不懂是啥意思。/****2.设置PLL锁相环**********************************************************************************/ //4.设置PLL锁相环时钟源,配置PLL倍频, (HSI走1分频线路,PLL倍频为9) RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);//RCC_PLLSource_HSI_Div2 表示: PLL 的输入时钟 = HSI时钟频率除以 2; RCC_PLLMul_9//RCC_PLLSource_HSE_Div1表示: PLL 的输入时钟 = HSE时钟频率 //RCC_PLLSource_HSE_Div2表示:PLL 的输入时钟 = HSE 时钟频率除以 2//5.使能PLL时钟 RCC_PLLCmd(ENABLE); //6.等待PLL时钟就绪 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } //7.配置系统时钟 = PLL时钟 (将SYSCLK时钟线路设置为PLLCLK线路) RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //8.等待SYSCLK时钟从HSI线路转换至PLLCLK线路完成;(检查PLL时钟是否作为系统时钟) while(RCC_GetSYSCLKSource() != 0x08) { }/****3.设置各预分频器**********************************************************************************///9.配置AHB(HCLK)时钟=SYSCLK RCC_HCLKConfig(RCC_SYSCLK_Div1);//AHB预分频为1 //10.配置高速APB2(PCLK2)钟=AHB时钟 RCC_PCLK2Config(RCC_HCLK_Div1);//APB2预分频为1 //11.配置低速APB1(PCLK1)钟=AHB 1/2时钟//APB1预分频为2 RCC_PCLK1Config(RCC_HCLK_Div2);//12.此处可增加打开CSS监视系统。/*****4.开启相应的外设时钟*********************************************************************************/// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//使能APB2外设的GPIOA的时钟 // RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能APB2外设的GPIOB的时钟}#ifndef __DELAY_H#define __DELAY_H #include "stm32f10x.h"extern void delay_init(void);extern void delay_us(u32 nus); //微秒extern void delay_ms(u16 nms); //毫秒#endif////////////////////////////////////////////////////////////////////////////////////////////一.用查询法实现delay_us(u32 nus);//微秒级延时// delay_ms(u16 nms);//毫秒级延时//二.用查询法实现delay延时的步骤://////////////////////////////////////////////////////////////////////////////////////////////#include "delay.h"// static u8fac_us=0;//us延时倍乘数 //定义fac_us为U8类型的全局变量Static就是定义fac_us为全局变量 u8fac_us=0;// static u16 fac_ms=0;//ms延时倍乘数 u16 fac_ms=0;void delay_init(){/******************************************1.1配置Systick系统时钟************************************************************************************/ SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //选择外部时钟HCLK/8//假如HCLK(SystemCoreClock)=72MHz,则Systick=HCLK/8=9MHz; /******************************************1.2计算 微秒数 装载数值的因子***************************************************************************/ fac_us=SystemCoreClock/8000000; //系统时钟/8000000=72MHz/8000000=72000000/8000000=9; //上面这句的写法较难理解:假如系统时钟为72MHz时;可以直接写成:fac_us=9;但是当系统时钟为36MHZ时 //则SysTick时钟为36/8=4.5MHz;则一个SysTick时钟周期为:1/(4.5*1000000);当其因子为4.5时:4.5/(4.5*1000000)=1/1000000=1毫秒; //为了便于当系统时钟改变时;不用重新设置因子;将其写成:fac_us=SystemCoreClock/8000000; 是否也可写 //为:fac_us=SysTickCoreClock/1000000;呢,待验证/******************************************1.2计算 毫秒数 装载数值的因子***************************************************************************/ fac_ms=SystemCoreClock/8000;//1微妙*1000=1毫秒 //解释含义同上8000}void delay_ms(u16 nms){ u32 temp; SysTick->LOAD=(u32)nms*fac_ms;//A):给SysTick->LOAD装载值。 //假如延时1毫秒,则装载的值为1*fac_ms,假如要延时的值为nms毫秒,则为nms*fac_ms毫秒。 SysTick->VAL =0x00;//B):清空计数器 SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;//C):开启计数器开始倒数 do {temp=SysTick->CTRL; } while(temp&0x01&&!(temp&(1VAL =0X00; //F):清空计数器} void delay_us(u32 nus){ u32 temp; SysTick->LOAD=nus*fac_us; //时间加载 SysTick->VAL=0x00;//清空计数器 SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ; //开始倒数 do {temp=SysTick->CTRL; } while(temp&0x01&&!(temp&(1VAL =0X00; //清空计数器}#ifndef __LCD_H#define __LCD_H#include"stm32f10x.h" #define uchar unsigned char#define uint unsigned int//#defineTYPE_LCD_DATA1#defineTYPE_LCD_COMMAND 0 //定义TYPE_LCD_COMMAND为常量0#defineLCD_SIZE_X240//定义LCD_SIZE_X为240(原值为128)#defineLCD_SIZE_Y400//定义LCD_SIZE_Y为400(原值为160) //#defineDATAP0 //定义P0(pB8-15)口为数据端口//位带操作,实现51类似的GPIO控制功能//具体实现思想,参考第五章(87页~92页).//IO口操作宏定义#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)ODR|=(valueODR|=value&0xff00;//传送value高8位 LCD_WR= 1; delay_ms(50); LCD_WR= 0;//传送u16变量value低8位数据 GPIOB->ODR&= 0X00ff;//将高8位清0GPIOB->ODR|=(value
2015-09-18 17:27
PCB走线角度选择到底该不该90°?
2021-03-18 06:44
PCB能不能以锐角走线pcb layout能不能以90°走线
2021-02-26 08:14
各类新型业务的兴起以及用户规模的迅猛发展,推动着移动通信系统的持续演进与革新。在十年一轮回的移动通信系统发展历程中,众多技术流派在激荡的浪潮中历尽沉浮。有多少技术方案曾如焰火般惊艳乍现,而后却在转瞬间化作过眼云烟,被尘封在故纸堆中。又有多少技术方案能真正经得起理论、实践与市场的多重考验,从而有机会在人类文明史上留下一丝更为清晰的痕迹。如今4G系统的发展方兴未艾,5G的步伐就已紧随其后。移动通信系统的发展即将开启新的篇章。
2019-08-19 08:23