谁有STM32W108各个模块驱动程序

[复制链接]
 楼主| lwj006 发表于 2011-7-29 10:16 | 显示全部楼层 |阅读模式
求STM32W108模块驱动程序,如ISP、IIC、ADC、UART等等。官方没有自己写起来比较麻烦,请问ST的代理商会吗?这样用起来更快,才便于STM32W108的推广和使用,可惜ST官网的资料太少了,射频部分的寄存器都没有给。
上官金虹 发表于 2011-7-29 10:24 | 显示全部楼层
貌似TI也要出CM3 Zigbee,ST资料太少,等TI。
yinyangdianzi 发表于 2011-7-29 12:57 | 显示全部楼层
 楼主| lwj006 发表于 2011-7-30 09:54 | 显示全部楼层
3# yinyangdianzi
老兄,你是卖芯片的,你貌似有很多资料(⊙o⊙)哦,能否分享一下呢?
ploto 发表于 2011-8-5 17:11 | 显示全部楼层
直接操作寄存器比较方便
yinyangdianzi 发表于 2011-8-9 11:51 | 显示全部楼层
[local]1[/local]
sinadz 发表于 2011-8-9 14:37 | 显示全部楼层
哪位大侠有就分享一下吧,多谢了
yinyangdianzi 发表于 2011-8-10 10:26 | 显示全部楼层
STM32W108各个模块驱动程序驱动程序, 寄存器

加我微博。。在微盘共享里。关注我,就可以看到!!!!
http://weibo.com/stmicroelectronic
ploto 发表于 2011-8-11 16:43 | 显示全部楼层
以下是GPIO引脚置位/清除功能 放到.h文件中啊。

// Each port is offset from the previous port by the same amount
#define GPIO_Px_OFFSET  (GPIO_PBCFGL_ADDR-GPIO_PACFGL_ADDR)

inline void halGpioSetBit(uint32 pin)
{
  //得到PORT号
   uint32 port = (pin >> 3);
   *((volatile int32u *)(GPIO_PASET_ADDR+ GPIO_Px_OFFSET * (port))) = (1 << (pin&7));

}

inline void halGpioClearBit(uint32 pin)
{
  //得到PORT号
  uint32 port = (pin >> 3);  
  
   *((volatile int32u *)(GPIO_PACLR_ADDR+ GPIO_Px_OFFSET * (port))) = (1 << (pin&7));
}
inline boolean halGpioIsHigh(uint32 pin)
{
        uint32 port = (pin >> 3);  

        return (*((volatile int32u *)(GPIO_PAIN_ADDR+ GPIO_Px_OFFSET * (port))) & (1 << (pin&7)));

}
ploto 发表于 2011-8-11 16:48 | 显示全部楼层
UART的驱动程序

例程:
//初始化
uartInit(115200, 8, PARITY_NONE, 1);

//发送数据
uartSendBuf("AP Started",10);

//发送一个字节
uartSendChar('S');


如果要发送数据量比较大,修改UART_QUEUE_SIZE即可

uart.rar

2.09 KB, 下载次数: 63

ploto 发表于 2011-8-11 16:48 | 显示全部楼层
以下是GPIO引脚置位/清除功能 放到.h文件中啊。

// Each port is offset from the previous port by the same amount
#define GPIO_Px_OFFSET  (GPIO_PBCFGL_ADDR-GPIO_PACFGL_ADDR)

inline void halGpioSetBit(uint32 pin)
{
  //得到PORT号
   uint32 port = (pin >> 3);
   *((volatile int32u *)(GPIO_PASET_ADDR+ GPIO_Px_OFFSET * (port))) = (1 << (pin&7));

}

inline void halGpioClearBit(uint32 pin)
{
  //得到PORT号
  uint32 port = (pin >> 3);  
  
   *((volatile int32u *)(GPIO_PACLR_ADDR+ GPIO_Px_OFFSET * (port))) = (1 << (pin&7));
}
inline boolean halGpioIsHigh(uint32 pin)
{
        uint32 port = (pin >> 3);  

        return (*((volatile int32u *)(GPIO_PAIN_ADDR+ GPIO_Px_OFFSET * (port))) & (1 << (pin&7)));

}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

116

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部