注意:
在 <stm32f10x_gpio.h> 文件中加入了 位带操作,添加内容从340行开始:
//位带操作,实现51类似的GPIO控制功能
//具体实现思想,参考<<CM3权威指南>>第五章(87页~92页).
//IO口操作宏定义
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
#define MEM_ADDR(addr) *((volatile unsigned long *)(addr))
#define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum))
//IO口地址映射
#define GPIOA_ODR_Addr (GPIOA_BASE+12) //0x4001080C
#define GPIOB_ODR_Addr (GPIOB_BASE+12) //0x40010C0C
#define GPIOC_ODR_Addr (GPIOC_BASE+12) //0x4001100C
#define GPIOD_ODR_Addr (GPIOD_BASE+12) //0x4001140C
#define GPIOE_ODR_Addr (GPIOE_BASE+12) //0x4001180C
#define GPIOF_ODR_Addr (GPIOF_BASE+12) //0x40011A0C
#define GPIOG_ODR_Addr (GPIOG_BASE+12) //0x40011E0C
#define GPIOA_IDR_Addr (GPIOA_BASE+8) //0x40010808
#define GPIOB_IDR_Addr (GPIOB_BASE+8) //0x40010C08
#define GPIOC_IDR_Addr (GPIOC_BASE+8) //0x40011008
#define GPIOD_IDR_Addr (GPIOD_BASE+8) //0x40011408
#define GPIOE_IDR_Addr (GPIOE_BASE+8) //0x40011808
#define GPIOF_IDR_Addr (GPIOF_BASE+8) //0x40011A08
#define GPIOG_IDR_Addr (GPIOG_BASE+8) //0x40011E08
//IO口操作,只对单一的IO口!
//确保n的值小于16!
#define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出
#define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入
#define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //输出
#define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //输入
#define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,n) //输出
#define PCin(n) BIT_ADDR(GPIOC_IDR_Addr,n) //输入
#define PDout(n) BIT_ADDR(GPIOD_ODR_Addr,n) //输出
#define PDin(n) BIT_ADDR(GPIOD_IDR_Addr,n) //输入
#define PEout(n) BIT_ADDR(GPIOE_ODR_Addr,n) //输出
#define PEin(n) BIT_ADDR(GPIOE_IDR_Addr,n) //输入
#define PFout(n) BIT_ADDR(GPIOF_ODR_Addr,n) //输出
#define PFin(n) BIT_ADDR(GPIOF_IDR_Addr,n) //输入
#define PGout(n) BIT_ADDR(GPIOG_ODR_Addr,n) //输出
#define PGin(n) BIT_ADDR(GPIOG_IDR_Addr,n) //输入
没有合适的资源?快使用搜索试试~ 我知道了~
STM32F103实现串口收发数据功能
共183个文件
h:31个
o:31个
d:31个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 110 浏览量
2022-06-27
13:24:37
上传
评论 1
收藏 4.45MB RAR 举报
温馨提示
串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。 中断发送方式的基本过程是:每发送一个字节,该字节发送完毕引发中断,中断处理程序再发送下一个字节……直到发送完成。 该接口不需要等待接收完成再返回,整个接收过程不需要用户干预,最好检查下返回值,看有没有调用成功,因为如果上次数据还没接收完整,处理忙状态,是不可以再发起新的接收过程的。 中断在硬件层面的触发方式:如果是电平触发的中断,在中断式发送函数中会使能相应的中断,因为发送缓冲区为空,其所处的电平状态就在中断功能被使能后会直接触发中断,导致第一个字节在中断处理函数中被发送出去
资源推荐
资源详情
资源评论
收起资源包目录
STM32F103实现串口收发数据功能 (183个子文件)
UART.uvguix.19030 90KB
UART.axf 325KB
UART.uvguix_HP.bak 134KB
UART_uvoptx.bak 24KB
UART_uvprojx.bak 20KB
keilkill.bat 238B
stm32f10x_tim.c 107KB
stm32f10x_flash.c 61KB
stm32f10x_rcc.c 50KB
stm32f10x_adc.c 46KB
stm32f10x_i2c.c 45KB
stm32f10x_can.c 44KB
stm32f10x_usart.c 37KB
system_stm32f10x.c 36KB
stm32f10x_fsmc.c 35KB
stm32f10x_spi.c 30KB
stm32f10x_dma.c 29KB
stm32f10x_sdio.c 28KB
stm32f10x_gpio.c 23KB
stm32f10x_dac.c 19KB
core_cm3.c 17KB
stm32f10x_cec.c 11KB
stm32f10x_pwr.c 9KB
stm32f10x_rtc.c 8KB
stm32f10x_bkp.c 8KB
misc.c 7KB
stm32f10x_exti.c 7KB
stm32f10x_wwdg.c 6KB
BSP_UART.c 5KB
stm32f10x_dbgmcu.c 5KB
stm32f10x_it.c 5KB
stm32f10x_iwdg.c 5KB
stm32f10x_crc.c 3KB
BSP_Timer.c 3KB
BSP_Led.c 3KB
main.c 2KB
stm32f10x_tim.crf 364KB
main.crf 351KB
stm32f10x_can.crf 351KB
stm32f10x_adc.crf 349KB
stm32f10x_rcc.crf 349KB
stm32f10x_flash.crf 349KB
stm32f10x_i2c.crf 348KB
stm32f10x_usart.crf 348KB
stm32f10x_fsmc.crf 348KB
stm32f10x_it.crf 347KB
bsp_uart.crf 347KB
stm32f10x_sdio.crf 346KB
stm32f10x_spi.crf 346KB
stm32f10x_gpio.crf 346KB
stm32f10x_dma.crf 345KB
stm32f10x_dac.crf 344KB
stm32f10x_cec.crf 344KB
system_stm32f10x.crf 343KB
stm32f10x_bkp.crf 343KB
stm32f10x_rtc.crf 343KB
stm32f10x_pwr.crf 343KB
stm32f10x_exti.crf 343KB
bsp_timer.crf 343KB
stm32f10x_wwdg.crf 342KB
bsp_led.crf 342KB
misc.crf 342KB
stm32f10x_iwdg.crf 342KB
stm32f10x_crc.crf 342KB
stm32f10x_dbgmcu.crf 342KB
core_cm3.crf 4KB
stm32f10x_it.d 3KB
stm32f10x_dbgmcu.d 3KB
stm32f10x_usart.d 3KB
stm32f10x_flash.d 3KB
stm32f10x_exti.d 2KB
stm32f10x_gpio.d 2KB
stm32f10x_fsmc.d 2KB
stm32f10x_sdio.d 2KB
stm32f10x_iwdg.d 2KB
stm32f10x_wwdg.d 2KB
stm32f10x_rtc.d 2KB
stm32f10x_dac.d 2KB
stm32f10x_can.d 2KB
stm32f10x_i2c.d 2KB
stm32f10x_spi.d 2KB
stm32f10x_crc.d 2KB
stm32f10x_pwr.d 2KB
stm32f10x_tim.d 2KB
stm32f10x_adc.d 2KB
stm32f10x_bkp.d 2KB
stm32f10x_rcc.d 2KB
stm32f10x_dma.d 2KB
stm32f10x_cec.d 2KB
system_stm32f10x.d 2KB
main.d 2KB
bsp_timer.d 2KB
bsp_uart.d 2KB
bsp_led.d 2KB
misc.d 2KB
core_cm3.d 119B
startup_stm32f10x_hd.d 83B
UART_STM32F103ZE.dbgconf 7KB
UART_STM32F103ZE_1.0.0.dbgconf 2KB
UART_UART.dep 72KB
共 183 条
- 1
- 2
资源评论
- afterall7772023-08-17资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
- 2401_839651632024-04-10感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
- 2301_786218852023-07-19资源值得借鉴的内容很多,那就浅学一下吧,值得下载!
易安寄云
- 粉丝: 142
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功