STM8S207_UART1串口发送中断程序

STM8S207_UART1串口发送中断程序,第1张

void CLK_INIT(void)

{

CLK_CKDIVR = 0x19 /*HSI/8、CPU = 2/2,1M速度*/

CLK_PCKENR1 = 0x04 /*只开启uart1的时钟*/

CLK_PCKENR2 = 0x00/*打开ADC的时钟*/

}

void IO_INIT(void)

{

PA_CR1 = 0x00 /*推挽输出*/

PA_CR2 = 0x00 /*最大输出为2MHZ,禁止外部中断*/

PA_DDR |= 0x20 /*PA5为输出*/

}

void UART1_INIT(void)

{

UART1_BRR2 = 0x00

UART1_BRR1 = 0x0d /*2M的Fmaster下9600的波特率*/

UART1_DR = 0xaa

UART1_CR2 = 0x08 /*发送完寄存器空,发送使能*/

UART1_CR3 = 0x00 /*1个停止位*/

}

#pragma vector = UART1_T_TXE_vector

__interrupt __root void UART1_TX(void)

{

UART1_SR = 0x00

UART1_DR = 0xaa

}

只作为参考,希望对您有帮助,谢谢!

IIC通信是 先发送读/写信号的地址,然后再发送数据,每次发送完之后都会有从设备的应答,应答说明通信成功。建议你去看一下IIC协议的书或者 网页,了解这个协议就知道怎么去写程序,下面我给解释一下几行代码,其余的依葫芦画瓢就行了。

IIC_Start()//准备进行IIC通信

IIC_Send_Byte(WriteGYAddress)//发送IIC的写数据的地址

IIC_Wait_Ack()//等待与STM32通信的从设备的应答

IIC_Send_Byte(0x00)//发送00到上面的地址WriteGYAddress

IIC_Wait_Ack()//等待与STM32通信的从设备的应答

IIC_Send_Byte(0x31)

IIC_Wait_Ack()

IIC_Stop()//结束IIC通信

delay_us(30)//延时,准备下一次 *** 作

加油!

STM8S208/207单片机芯片解密技术 !

STM8S207/208增强型是更高端的多功能8位微控制器,可以替换到STM8S103/105基本型。

它基于意法半导体的专有24 MHz内核,具有与基本型相同的标准特性:全套定时器、通信接口(UART、SPI、I2C)、10位ADC、内部和外部时钟控制系统、看门狗、自动唤醒单元和集成式单线调试模块。它还提供其它特性,例如CAN接口和另一个UART。

STM8S207/208增强型微控制器采用32~80引脚封装。该产品系列具有高达128 KB的Flash程序存储器、高达2 KB的数据EEPROM和高达6 KB的RAM。它最适于工业、消费类和其它大宗市场内的中端和高端应用。 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8162674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存