The fact that it is USB makes no difference; in the end, it is a normal /dev/ttyXXX device, with a somewhat strange name (probably with a "U" in it). You can handle it exactly like any other serial port.
If you get a permission problem, the source is most likely that ... drum roll ... you don't have permission. Most likely you are a normal user, logged in with a normal user name, not as root. Most likely, the serial device is owned by root or operator, and its permissions are probably something like "rw-------", meaning only the owner can use it.
To debug this, here is a nasty (brutal, illegal, immoral ...) suggestion: First check that the serial device really exists, and who its owner and permissions area. Then log in as root, and then run your program. If it suddenly starts working (or at least, the permission error goes away), that was the problem. In that case, there are several possible solutions, with different levels of nasty-ness. Really bad idea: Just start logging in as root and doing all the work as root. This is just a bad habit to get into, and any small mistake (like "rm *") and your system is wiped out. You can also quickly manually change the permissions of the device to be "rw-rw-rw-" (with the command chmod a+rw /dev/tty...
), or you can change the ownership of the device (with chown adam:bob /dev/tty...
, assuming you are user adam in group bob). The problem with those two approaches is that everytime the machine reboots, or the USB device is destroyed or recreated, it will go back to being owned by root and having normal permissions. There is a way to fix that problem (by editing some config file, I think it is devd.conf), but I have really bad internet connection right now, and can't get to my FreeBSD machine right now, so can't offer help on fixing that.