贴上我那个破烂的汇编吧,大家不要笑话,尽管指出不足的地方,非常感激!
主机:UART_CHUSHI
;;;;;;;;;;;;;;;;;;;;;;;;;UART初始化
Bset PD_DDR,#5
Bset PD_CR1,#5
BRES PD_ODR,#5
BRES PD_DDR,#6
BRES PD_CR1,#6
BRES PD_ODR,#6
MOV UART2_CR1,#$50
MOV UART2_BRR2,#$01;;;;;;;;;;;;;;初始化波特率9600
MOV UART2_BRR1,#$34
BSET UART2_CR2,#6;;;;;;;;;;;;;使能发送中断
BSET UART2_CR2,#5;;;;;;;;;;;;;使能接收中断
BRES ITC_SPR6,#0
BRES ITC_SPR6,#1 ;;;;;;;;;;;;;中断优先级20号
BRES ITC_SPR6,#2
BRES ITC_SPR6,#3 ;;;;;;;;;;;;;中断优先级21号
RIM
BSET UART2_CR1,#6
BSET UART2_CR1,#4
BRES UART2_CR1,#2
BSET UART2_CR1,#3
BSET UART2_CR2,#3;;;;;;;;;;发送使能
BSET UART2_CR2,#2;;;;;;;;;;接收使能
RETF
从机:UART_CHUSHI ;;;;;;;;;;;;;UART初始化
BRES PD_DDR,#5
BRES PD_CR1,#5
BRES PD_ODR,#5
BRES PD_DDR,#6
BRES PD_CR1,#6
BRES PD_ODR,#6
MOV UART2_BRR2,#$01;;;;;;;;;;;;;;初始化波特率9600
MOV UART2_BRR1,#$34
MOV UART2_CR1,#$98 ;;;;;;;;9个数据位一个停止位 地址唤醒
MOV UART2_CR2,#$62 ;;;;;;;使能接受 使能中断 处于静默
MOV UART2_CR4,#$05 ;;;;;;;从机地址5
BRES ITC_SPR6,#0
BRES ITC_SPR6,#1 ;;;;;;;;;;;;;中断优先级20号
BRES ITC_SPR6,#2
BRES ITC_SPR6,#3 ;;;;;;;;;;;;;中断优先级21号
RIM
BSET UART2_CR2,#2
从机没有奇偶校验,等会再试试,真的想把从机待发送的第九位当数据处理啊。 |