-
DS18B20初始化失败,但延时是达到要求的
用的正点原子的ds18b20驱动,移植到自己的cubemx生成的stm32f103c6t6工程中,无法成功初始化ds18b20在程序中表现为ds18b20不进行应答,超过240微秒.之后通过逻辑分析仪来检测,得到stm32这边确实延时了750微秒,达到拉低总线的要求,并放开了总线,但ds18b20始终不应答相关硬件用在原先的正点原子开发板上正常运作,放到自己的c6t6上就是不工作求问各位朋友,是哪里出问题了
2023-04-02 66 -
关于中断的问题,Disable中再Enable中断无法正常运行
Disable中断之后再Enable无法正常运行,这是中断函数:voidHAL_GPIO_EXTI_Rising_Callback(uint16_tGPIO_Pin){if(GPIO_Pin==GPIO_PIN_3){HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);HAL_NVIC_DisableIRQ(EXTI2_3_IRQn);EXIT_Sign=1;}}这是while循环while(1){/USERCODEENDWHILE/if(EXIT_Sign==1){HAL_Delay(2000);MX_GPIO_Init();HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);EXIT_Sign=0;}/USERCODEBEGIN3/}这样是可以实现功能的,但是只要注释掉if里面的MX_GPIO_Init();或者HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);这两个注释掉一个就无法实现功能。我的问题是:MX_GPIO_Init();函数里面有使能中断语句了HAL_NVIC_EnableIRQ(EXTI2_3_IRQn);为啥在if里面还得再重复一遍这个使能函数呢。不知道我有没有说明白,请各位大佬们帮忙解答一下。
2023-02-22 34 -
不管送什么数进去,8个LED都一起灭
利用串口专家向单片机发个数,单片机根据这个数决定哪个LED灯亮。voidinterrupt0()interrupt4using1{i=SBUF;LED=i;}main(){EA=1;ES=1;SCON=0x70;PCON=0;TMOD=0x20;TH1=220;TL1=220;TCON=0x40;}波特率设定9600,现在的问题是不管送什么数进去,8个LED都一起灭?
2020-09-10 18 -
能否保证多次执行时间完全相等
请问各位,如果一程序段,关中段,有函数调用,能否保证多次执行时间完全相等
2020-09-10 35 -
51单片机和国外用的单片机不同在哪?
51单片机和国外用的单片机不同在哪?
2020-09-10 10 -
不能进入外部中断
voidmain(void){EA=1;EX0=1;//设定接受INT0的中断TMOD=0x01;/*定时器初始化*/TH0=0xff;TL0=0xf6;TR0=1;ET0=1;//如果加入定时器设置就无法进入中断函数,不设定时器则可以进入外部中断while(1);}如果加入定时器设置就无法进入中断函数,不设定时器则可以进入外部中断staticvoiddecode(void)interrupt0using2//外部中断函数内容为红外遥控器解码函数、{红外要红解码的内容,因较长未列出}请问下问什么设置定时器就不能进入外部中断了??请高手解答!
2020-09-10 15 -
如何才能实现板子按键就能操作屏幕
STM3103ZET6驱动DGUS屏,如何才能实现板子按键就能操作屏幕,点击屏幕可以给板子返回值,进行通信?
2020-09-09 22 -
函数返回值是多少?
uint32Systick_Config(uint32ticks){if((ticks-1UL)>0xFFFFFFUL){return1UL;}return0UL;}疑问,当ticks的值为0时,函数返回值是多少?
2020-09-08 31 -
完低功耗后是不是不能做触摸按键唤醒了呢?
用stm8l151的单片机做了低功耗的设计,这一步已经完成了。项目才算完成一小部分(加油中)。现在是准备用stm8l的触摸库做几个触摸按键来进行控制。但在做完低功耗后是不是不能做触摸按键唤醒了呢?
2020-09-07 11