{
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。它最适于工业、消费类和其它大宗市场内的中端和高端应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)