⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.lss

📁 rtos 是atmega单片机用的实时系统
💻 LSS
📖 第 1 页 / 共 5 页
字号:
			Sem[Index].OSEventState = 1;				/*使信号量有效				*/
		}
	}
}

/************************************************************************************************************************
函数名称:	OSTaskSemPost
函数原型:	void OSTaskSemPost(Uint_8bit Index)
函数功能:	从任务发送一个信号量,并进行调度 
入口参数:	Index:信号量的序号
出口参数:	无
有关说明:	在任务中调用
创建时间:	2007年3月3日
修改时间:	
************************************************************************************************************************/
void OSTaskSemPost(Uint_8bit Index)
{
	OSSemPost(Index);
	OSSched();
}

/************************************************************************************************************************
函数名称:	OSSemClean
函数原型:	void OSSemClean(Uint_8bit Index)
函数功能:	清除一个信号量,只对共享型的有用。 对于独占型的信号量,在任务占用后,就变得不可以用了
入口参数:	Index:信号量的序号
出口参数:	无
有关说明:	
创建时间:	2007年3月3日
修改时间:	
************************************************************************************************************************/
void OSSemClean(Uint_8bit Index)
{
	Sem[Index].OSEventState = 0;				/*要求的信号量无效*/
}

/************************************************************************************************************************
函数名称:	TCN0Init
函数原型:	void TCN0Init(void)
函数功能:	初始化定时器0
入口参数:	无
出口参数:	无
有关说明:	定时器T0是任务时钟
创建时间:	2007年3月3日
修改时间:	
************************************************************************************************************************/
void TCN0Init(void)
{
	TCCR0 = 0;
	TCCR0 |= 5;			/* 1024预分频 fout7200hz		*/
	TIMSK |= (1<<TOIE0);		/* T0溢出中断允许	*/
	TCNT0 = 183;				/* 置计数起始值		*/
}

/************************************************************************************************************************
函数名称:	OSFindPrioHighRdy
函数原型:	void OSFindPrioHighRdy (void)
函数功能:	找出任务就绪表中的最高优先级的任务
入口参数:	无
出口参数:	无
有关说明:	
创建时间:	2007年3月7日
修改时间:	
************************************************************************************************************************/
void OSFindPrioHighRdy (void)
{
	Uint_8bit OSNextTaskPrio;
	OSNextTaskPrio = 0;
 3fa:	40 e0       	ldi	r20, 0x00	; 0
	while ((OSNextTaskPrio < OS_TASKS) && (!(OSRdyTbl & (0x01<<OSNextTaskPrio))))
	{
		OSNextTaskPrio++;
 3fc:	22 2d       	mov	r18, r2
 3fe:	33 27       	eor	r19, r19
 400:	20 fd       	sbrc	r18, 0
 402:	0c c0       	rjmp	.+24     	; 0x41c
 404:	4f 5f       	subi	r20, 0xFF	; 255
 406:	44 30       	cpi	r20, 0x04	; 4
 408:	48 f4       	brcc	.+18     	; 0x41c
 40a:	c9 01       	movw	r24, r18
 40c:	04 2e       	mov	r0, r20
 40e:	02 c0       	rjmp	.+4      	; 0x414
 410:	95 95       	asr	r25
 412:	87 95       	ror	r24
 414:	0a 94       	dec	r0
 416:	e2 f7       	brpl	.-8      	; 0x410
 418:	80 ff       	sbrs	r24, 0
 41a:	f4 cf       	rjmp	.-24     	; 0x404
		/*
			找出信号量等待列表中任务优先级最高的任务
		*/
	}
	
	OSPrioHighRdy = OSNextTaskPrio;
 41c:	54 2e       	mov	r5, r20
 41e:	08 95       	ret

00000420 <OSSched>:
 420:	ec df       	rcall	.-40     	; 0x3fa
 422:	53 10       	cpse	r5, r3
 424:	8f df       	rcall	.-226    	; 0x344
 426:	08 95       	ret
 428:	08 95       	ret

0000042a <OSTaskSuspend>:
 42a:	48 2f       	mov	r20, r24
 42c:	0f b6       	in	r0, 0x3f	; 63
 42e:	0f 92       	push	r0
 430:	11 24       	eor	r1, r1
 432:	f8 94       	cli
 434:	28 2f       	mov	r18, r24
 436:	33 27       	eor	r19, r19
 438:	f9 01       	movw	r30, r18
 43a:	ee 0f       	add	r30, r30
 43c:	ff 1f       	adc	r31, r31
 43e:	ee 0f       	add	r30, r30
 440:	ff 1f       	adc	r31, r31
 442:	e2 0f       	add	r30, r18
 444:	f3 1f       	adc	r31, r19
 446:	eb 59       	subi	r30, 0x9B	; 155
 448:	ff 4f       	sbci	r31, 0xFF	; 255
 44a:	12 82       	std	Z+2, r1	; 0x02
 44c:	13 82       	std	Z+3, r1	; 0x03
 44e:	81 e0       	ldi	r24, 0x01	; 1
 450:	90 e0       	ldi	r25, 0x00	; 0
 452:	02 c0       	rjmp	.+4      	; 0x458
 454:	88 0f       	add	r24, r24
 456:	99 1f       	adc	r25, r25
 458:	2a 95       	dec	r18
 45a:	e2 f7       	brpl	.-8      	; 0x454
 45c:	80 95       	com	r24
 45e:	28 22       	and	r2, r24
 460:	34 16       	cp	r3, r20
 462:	29 f4       	brne	.+10     	; 0x46e
 464:	0f 90       	pop	r0
 466:	0f be       	out	0x3f, r0	; 63
 468:	11 24       	eor	r1, r1
 46a:	da df       	rcall	.-76     	; 0x420
 46c:	08 95       	ret
 46e:	0f 90       	pop	r0
 470:	0f be       	out	0x3f, r0	; 63
 472:	11 24       	eor	r1, r1
 474:	08 95       	ret
 476:	08 95       	ret

00000478 <OSTaskResume>:
 478:	48 2f       	mov	r20, r24
 47a:	0f b6       	in	r0, 0x3f	; 63
 47c:	0f 92       	push	r0
 47e:	11 24       	eor	r1, r1
 480:	f8 94       	cli
 482:	28 2f       	mov	r18, r24
 484:	33 27       	eor	r19, r19
 486:	81 e0       	ldi	r24, 0x01	; 1
 488:	90 e0       	ldi	r25, 0x00	; 0
 48a:	02 2e       	mov	r0, r18
 48c:	02 c0       	rjmp	.+4      	; 0x492
 48e:	88 0f       	add	r24, r24
 490:	99 1f       	adc	r25, r25
 492:	0a 94       	dec	r0
 494:	e2 f7       	brpl	.-8      	; 0x48e
 496:	28 2a       	or	r2, r24
 498:	f9 01       	movw	r30, r18
 49a:	ee 0f       	add	r30, r30
 49c:	ff 1f       	adc	r31, r31
 49e:	ee 0f       	add	r30, r30
 4a0:	ff 1f       	adc	r31, r31
 4a2:	e2 0f       	add	r30, r18
 4a4:	f3 1f       	adc	r31, r19
 4a6:	eb 59       	subi	r30, 0x9B	; 155
 4a8:	ff 4f       	sbci	r31, 0xFF	; 255
 4aa:	12 82       	std	Z+2, r1	; 0x02
 4ac:	13 82       	std	Z+3, r1	; 0x03
 4ae:	43 15       	cp	r20, r3
 4b0:	28 f4       	brcc	.+10     	; 0x4bc
 4b2:	0f 90       	pop	r0
 4b4:	0f be       	out	0x3f, r0	; 63
 4b6:	11 24       	eor	r1, r1
 4b8:	b3 df       	rcall	.-154    	; 0x420
 4ba:	08 95       	ret
 4bc:	0f 90       	pop	r0
 4be:	0f be       	out	0x3f, r0	; 63
 4c0:	11 24       	eor	r1, r1
 4c2:	08 95       	ret
 4c4:	08 95       	ret

000004c6 <OSTimeDly>:
 4c6:	ac 01       	movw	r20, r24
 4c8:	89 2b       	or	r24, r25
 4ca:	f9 f0       	breq	.+62     	; 0x50a
 4cc:	0f b6       	in	r0, 0x3f	; 63
 4ce:	0f 92       	push	r0
 4d0:	11 24       	eor	r1, r1
 4d2:	f8 94       	cli
 4d4:	23 2d       	mov	r18, r3
 4d6:	33 27       	eor	r19, r19
 4d8:	81 e0       	ldi	r24, 0x01	; 1
 4da:	90 e0       	ldi	r25, 0x00	; 0
 4dc:	02 2e       	mov	r0, r18
 4de:	02 c0       	rjmp	.+4      	; 0x4e4
 4e0:	88 0f       	add	r24, r24
 4e2:	99 1f       	adc	r25, r25
 4e4:	0a 94       	dec	r0
 4e6:	e2 f7       	brpl	.-8      	; 0x4e0
 4e8:	80 95       	com	r24
 4ea:	28 22       	and	r2, r24
 4ec:	f9 01       	movw	r30, r18
 4ee:	ee 0f       	add	r30, r30
 4f0:	ff 1f       	adc	r31, r31
 4f2:	ee 0f       	add	r30, r30
 4f4:	ff 1f       	adc	r31, r31
 4f6:	e2 0f       	add	r30, r18
 4f8:	f3 1f       	adc	r31, r19
 4fa:	eb 59       	subi	r30, 0x9B	; 155
 4fc:	ff 4f       	sbci	r31, 0xFF	; 255
 4fe:	42 83       	std	Z+2, r20	; 0x02
 500:	53 83       	std	Z+3, r21	; 0x03
 502:	0f 90       	pop	r0
 504:	0f be       	out	0x3f, r0	; 63
 506:	11 24       	eor	r1, r1
 508:	8b df       	rcall	.-234    	; 0x420
 50a:	08 95       	ret
 50c:	08 95       	ret

0000050e <OSSemCreat>:
 50e:	99 27       	eor	r25, r25
 510:	fc 01       	movw	r30, r24
 512:	ee 0f       	add	r30, r30
 514:	ff 1f       	adc	r31, r31
 516:	e8 0f       	add	r30, r24
 518:	f9 1f       	adc	r31, r25
 51a:	ee 58       	subi	r30, 0x8E	; 142
 51c:	fd 4f       	sbci	r31, 0xFD	; 253
 51e:	60 83       	st	Z, r22
 520:	12 82       	std	Z+2, r1	; 0x02
 522:	11 82       	std	Z+1, r1	; 0x01
 524:	08 95       	ret

00000526 <OSTaskSemPend>:
 526:	99 27       	eor	r25, r25
 528:	fc 01       	movw	r30, r24
 52a:	ee 0f       	add	r30, r30
 52c:	ff 1f       	adc	r31, r31
 52e:	e8 0f       	add	r30, r24
 530:	f9 1f       	adc	r31, r25
 532:	ee 58       	subi	r30, 0x8E	; 142
 534:	fd 4f       	sbci	r31, 0xFD	; 253
 536:	81 81       	ldd	r24, Z+1	; 0x01
 538:	88 23       	and	r24, r24
 53a:	31 f0       	breq	.+12     	; 0x548
 53c:	80 81       	ld	r24, Z
 53e:	88 23       	and	r24, r24
 540:	09 f0       	breq	.+2      	; 0x544
 542:	34 c0       	rjmp	.+104    	; 0x5ac
 544:	81 83       	std	Z+1, r24	; 0x01
 546:	32 c0       	rjmp	.+100    	; 0x5ac
 548:	0f b6       	in	r0, 0x3f	; 63
 54a:	0f 92       	push	r0
 54c:	11 24       	eor	r1, r1
 54e:	f8 94       	cli
 550:	23 2d       	mov	r18, r3
 552:	33 27       	eor	r19, r19
 554:	41 e0       	ldi	r20, 0x01	; 1
 556:	50 e0       	ldi	r21, 0x00	; 0
 558:	02 2e       	mov	r0, r18
 55a:	02 c0       	rjmp	.+4      	; 0x560
 55c:	44 0f       	add	r20, r20
 55e:	55 1f       	adc	r21, r21
 560:	0a 94       	dec	r0
 562:	e2 f7       	brpl	.-8      	; 0x55c
 564:	82 81       	ldd	r24, Z+2	; 0x02
 566:	84 2b       	or	r24, r20
 568:	82 83       	std	Z+2, r24	; 0x02
 56a:	f9 01       	movw	r30, r18
 56c:	ee 0f       	add	r30, r30
 56e:	ff 1f       	adc	r31, r31
 570:	ee 0f       	add	r30, r30
 572:	ff 1f       	adc	r31, r31
 574:	e2 0f       	add	r30, r18
 576:	f3 1f       	adc	r31, r19
 578:	eb 59       	subi	r30, 0x9B	; 155
 57a:	ff 4f       	sbci	r31, 0xFF	; 255
 57c:	62 83       	std	Z+2, r22	; 0x02
 57e:	73 83       	std	Z+3, r23	; 0x03
 580:	84 2f       	mov	r24, r20
 582:	80 95       	com	r24
 584:	28 22       	and	r2, r24
 586:	0f 90       	pop	r0
 588:	0f be       	out	0x3f, r0	; 63
 58a:	11 24       	eor	r1, r1
 58c:	49 df       	rcall	.-366    	; 0x420
 58e:	83 2d       	mov	r24, r3
 590:	99 27       	eor	r25, r25
 592:	fc 01       	movw	r30, r24
 594:	ee 0f       	add	r30, r30
 596:	ff 1f       	adc	r31, r31
 598:	ee 0f       	add	r30, r30
 59a:	ff 1f       	adc	r31, r31
 59c:	e8 0f       	add	r30, r24
 59e:	f9 1f       	adc	r31, r25
 5a0:	eb 59       	subi	r30, 0x9B	; 155
 5a2:	ff 4f       	sbci	r31, 0xFF	; 255
 5a4:	82 81       	ldd	r24, Z+2	; 0x02
 5a6:	93 81       	ldd	r25, Z+3	; 0x03
 5a8:	00 97       	sbiw	r24, 0x00	; 0
 5aa:	11 f0       	breq	.+4      	; 0x5b0
 5ac:	81 e0       	ldi	r24, 0x01	; 1
 5ae:	90 e0       	ldi	r25, 0x00	; 0
 5b0:	08 95       	ret
 5b2:	08 95       	ret

000005b4 <OSSemPost>:
 5b4:	cf 93       	push	r28
 5b6:	df 93       	push	r29
 5b8:	e8 2f       	mov	r30, r24
 5ba:	99 27       	eor	r25, r25
 5bc:	dc 01       	movw	r26, r24
 5be:	aa 0f       	add	r26, r26
 5c0:	bb 1f       	adc	r27, r27
 5c2:	a8 0f       	add	r26, r24
 5c4:	b9 1f       	adc	r27, r25
 5c6:	ae 58       	subi	r26, 0x8E	; 142
 5c8:	bd 4f       	sbci	r27, 0xFD	; 253
 5ca:	8c 91       	ld	r24, X
 5cc:	ed 01       	movw	r28, r26
 5ce:	9a 81       	ldd	r25, Y+2	; 0x02
 5d0:	88 23       	and	r24, r24
 5d2:	51 f0       	breq	.+20     	; 0x5e8
 5d4:	0f b6       	in	r0, 0x3f	; 63
 5d6:	0f 92       	push	r0
 5d8:	11 24       	eor	r1, r1
 5da:	f8 94       	cli
 5dc:	81 e0       	ldi	r24, 0x01	; 1
 5de:	fd 01       	movw	r30, r26
 5e0:	81 83       	std	Z+1, r24	; 0x01
 5e2:	29 2a       	or	r2, r25
 5e4:	12 82       	std	Z+2, r1	; 0x02
 5e6:	2d c0       	rjmp	.+90     	; 0x642
 5e8:	48 2f       	mov	r20, r24
 5ea:	90 fd       	sbrc	r25, 0
 5ec:	0e c0       	rjmp	.+28     	; 0x60a
 5ee:	4f 5f       	subi	r20, 0xFF	; 255
 5f0:	44 30       	cpi	r20, 0x04	; 4
 5f2:	58 f4       	brcc	.+22     	; 0x60a
 5f4:	ed 01       	movw	r28, r26
 5f6:	8a 81       	ldd	r24, Y+2	; 0x02
 5f8:	99 27       	eor	r25, r25
 5fa:	04 2e       	mov	r0, r20
 5fc:	02 c0       	rjmp	.+4      	; 0x602
 5fe:	95 95       	asr	r25
 600:	87 95       	ror	r24
 602:	0a 94       	dec	r0
 604:	e2 f7       	brpl	.-8      	; 0x5fe
 606:	80 ff       	sbrs	r24, 0
 608:	f2 cf       	rjmp	.-28     	; 0x5ee
 60a:	8e 2f       	mov	r24, r30
 60c:	99 27       	eor	r25, r25
 60e:	44 30       	cpi	r20, 0x04	; 4
 610:	e0 f4       	brcc	.+56     	; 0x64a
 612:	0f b6       	in	r0, 0x3f	; 63
 614:	0f 92       	push	r0
 616:	11 24       	eor	r1, r1
 618:	f8 94       	cli
 61a:	fc 01       	movw	r30, r24
 61c:	ee 0f       	add	r30, r30
 61e:	ff 1f       	adc	r31, r31
 620:	e8 0f       	add	r30, r24
 622:	f9 1f       	adc	r31, r25
 624:	ee 58       	subi	r30, 0x8E	; 142
 626:	fd 4f       	sbci	r31, 0xFD	; 253
 628:	21 e0       	ldi	r18, 0x01	; 1
 62a:	30 e0       	ldi	r19, 0x00	; 0
 62c:	02 c0       	rjmp	.+4      	; 0x632
 62e:	22 0f       	add	r18, r18
 630:	33 1f       	adc	r19, r19
 632:	4a 95       	dec	r20
 634:	e2 f7       	brpl	.-8      	; 0x62e

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -